
<!DOCTYPE HTML>
<html lang="zh-hans" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>处理人类语言 · Elasticsearch权威指南中文版</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        <meta name="author" content="WS">
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-anchors/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-splitter/splitter.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-anchor-navigation-ex/style/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-ace/ace.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-emphasize/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search-plus/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="4_1_Dealing_with_language.html" />
    
    
    <link rel="prev" href="3_2_DeepSearch.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="输入并搜索" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    序言
            
                </a>
            

            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="2.1" data-path="1Preface.html">
            
                <a href="1Preface.html">
            
                    
                    前言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.1" data-path="1Preface.html">
            
                <a href="1Preface.html#谁应该读这本书">
            
                    
                    谁应该读这本书
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.2" data-path="1Preface.html">
            
                <a href="1Preface.html#为什么我们要写这本书">
            
                    
                    为什么我们要写这本书
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.3" data-path="1Preface.html">
            
                <a href="1Preface.html#Elasticsearch版本">
            
                    
                    Elasticsearch版本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4" data-path="1Preface.html">
            
                <a href="1Preface.html#如何读这本书">
            
                    
                    如何读这本书
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.5" data-path="1Preface.html">
            
                <a href="1Preface.html#本书导航">
            
                    
                    本书导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6" data-path="1Preface.html">
            
                <a href="1Preface.html#在线资源">
            
                    
                    在线资源
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7" data-path="1Preface.html">
            
                <a href="1Preface.html#本书协议约定">
            
                    
                    本书协议约定
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.8" data-path="1Preface.html">
            
                <a href="1Preface.html#使用代码示例">
            
                    
                    使用代码示例
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.9" data-path="1Preface.html">
            
                <a href="1Preface.html#鸣谢">
            
                    
                    鸣谢
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="3.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html">
            
                    
                    基础入门
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#你知道的为了搜索">
            
                    
                    你知道的, 为了搜索…
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.1.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#安装并运行Elasticsearch">
            
                    
                    安装并运行Elasticsearch
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#安装Sense">
            
                    
                    安装Sense
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#和Elasticsearch交互">
            
                    
                    和Elasticsearch交互
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.4" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#面向文档">
            
                    
                    面向文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.5" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#适应新环境">
            
                    
                    适应新环境
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.6" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#索引雇员文档">
            
                    
                    索引雇员文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.7" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#检索文档">
            
                    
                    检索文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.8" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#轻量搜索">
            
                    
                    轻量搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.9" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#使用查询表达式搜索">
            
                    
                    使用查询表达式搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.10" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#更复杂的搜索">
            
                    
                    更复杂的搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.11" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#全文搜索">
            
                    
                    全文搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.12" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#短语搜索">
            
                    
                    短语搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.13" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#高亮搜索">
            
                    
                    高亮搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.14" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#分析">
            
                    
                    分析
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.15" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#教程结语">
            
                    
                    教程结语
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.16" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#分布式特性">
            
                    
                    分布式特性
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.17" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#">
            
                    
                    后续步骤
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#集群内的原理">
            
                    
                    集群内的原理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.2.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#空集群">
            
                    
                    空集群
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#集群健康">
            
                    
                    集群健康
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#添加索引">
            
                    
                    添加索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.4" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#添加故障转">
            
                    
                    添加故障转
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.5" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#水平扩容">
            
                    
                    水平扩容
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.6" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#应对故障">
            
                    
                    应对故障
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#数据输入和输出">
            
                    
                    数据输入和输出
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.3.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#什么是文档">
            
                    
                    什么是文档?
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#文档元数据">
            
                    
                    文档元数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#索引文档">
            
                    
                    索引文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.4" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#取回一个文档">
            
                    
                    取回一个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.5" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#检查文档是否存在">
            
                    
                    检查文档是否存在
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.6" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#更新整个文档">
            
                    
                    更新整个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.7" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#创建新文档">
            
                    
                    创建新文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.8" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#删除文档">
            
                    
                    删除文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.9" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#处理冲突">
            
                    
                    处理冲突
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.10" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#乐观并发控制">
            
                    
                    乐观并发控制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.11" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#文档的部分更新">
            
                    
                    文档的部分更新
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.12" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#取回多个文档">
            
                    
                    取回多个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.13" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#代价较小的批量操作">
            
                    
                    代价较小的批量操作
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#分布式文档存储">
            
                    
                    分布式文档存储
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.4.1" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#路由一个文档到一个分片中">
            
                    
                    路由一个文档到一个分片中
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.2" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#主分片和副本分片如何交互">
            
                    
                    主分片和副本分片如何交互
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.3" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#新建索引和删除文档">
            
                    
                    新建、索引和删除文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#取回一个文档">
            
                    
                    取回一个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.5" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#局部更新文档">
            
                    
                    局部更新文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.6" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#多文档模式">
            
                    
                    多文档模式
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.5" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#搜索最基本的工具">
            
                    
                    搜索——最基本的工具
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.5.1" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#空搜索">
            
                    
                    空搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.2" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#多索引多类型">
            
                    
                    多索引，多类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.3" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#分页">
            
                    
                    分页
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#轻量搜索">
            
                    
                    轻量搜索
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.6" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#映射和分析">
            
                    
                    映射和分析
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.6.1" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#精确值VS全文">
            
                    
                    精确值 VS 全文
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.2" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#倒排索引">
            
                    
                    倒排索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.3" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#分析与分析器">
            
                    
                    分析与分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#映射">
            
                    
                    映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.5" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#复杂核心域类型">
            
                    
                    复杂核心域类型
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.7" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#请求体查询">
            
                    
                    请求体查询
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.7.1" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#空查询">
            
                    
                    空查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.2" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#查询表达式">
            
                    
                    查询表达式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.3" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#查询与过滤">
            
                    
                    查询与过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.4" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#最重要的查询">
            
                    
                    最重要的查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.5" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#组合多查询">
            
                    
                    组合多查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.6" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#验证查询">
            
                    
                    验证查询
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.8" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#排序与相关性">
            
                    
                    排序与相关性
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.8.1" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#排序">
            
                    
                    排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.8.2" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#字符串排序与多字段">
            
                    
                    字符串排序与多字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.8.3" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#什么是相关性">
            
                    
                    什么是相关性?
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.8.4" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#DocValues介绍">
            
                    
                    Doc Values 介绍
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.9" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#执行分布式检索">
            
                    
                    执行分布式检索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.9.1" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#查询阶段">
            
                    
                    查询阶段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.9.2" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#取回阶段">
            
                    
                    取回阶段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.9.3" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#搜索选项">
            
                    
                    搜索选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.9.4" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#游标查询Scroll">
            
                    
                    游标查询 Scroll
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.10" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#索引管理">
            
                    
                    索引管理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.10.1" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#创建一个索引">
            
                    
                    创建一个索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.2" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#删除一个索引">
            
                    
                    删除一个索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.3" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#索引设置">
            
                    
                    索引设置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.4" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#配置分析器">
            
                    
                    配置分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.5" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#自定义分析器">
            
                    
                    自定义分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.6" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#类型和映射">
            
                    
                    类型和映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.7" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#根对象">
            
                    
                    根对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.8" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#动态映射">
            
                    
                    动态映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.9" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#自定义动态映射">
            
                    
                    自定义动态映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.10" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#缺省映射">
            
                    
                    缺省映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.11" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#重新索引你的数据">
            
                    
                    重新索引你的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.12" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#索引别名和零停机">
            
                    
                    索引别名和零停机
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.11" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#分片内部原理">
            
                    
                    分片内部原理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.11.1" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#使文本可被搜索">
            
                    
                    使文本可被搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.2" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#动态更新索引">
            
                    
                    动态更新索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.3" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#近实时搜索">
            
                    
                    近实时搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.4" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#持久化变更">
            
                    
                    持久化变更
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.5" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#段合并">
            
                    
                    段合并
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="4.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#深入搜索">
            
                    
                    深入搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#结构化搜索">
            
                    
                    结构化搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.1.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#精确值查找">
            
                    
                    精确值查找
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#组合过滤器">
            
                    
                    组合过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#查找多个精确值">
            
                    
                    查找多个精确值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.4" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#范围">
            
                    
                    范围
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.5" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#处理Null值">
            
                    
                    处理 Null 值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.6" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#关于缓存">
            
                    
                    关于缓存
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#全文搜索">
            
                    
                    全文搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.2.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#基于词项与基于全文">
            
                    
                    基于词项与基于全文
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#匹配查询">
            
                    
                    匹配查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多词查询">
            
                    
                    多词查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.4" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#组合查询">
            
                    
                    组合查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.5" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#如何使用布尔匹配">
            
                    
                    如何使用布尔匹配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.6" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#查询语句提升权重">
            
                    
                    查询语句提升权重
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.7" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#控制分析">
            
                    
                    控制分析
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.8" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#被破坏的相关度">
            
                    
                    被破坏的相关度！
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多字段搜索">
            
                    
                    多字段搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.3.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多字符串查询">
            
                    
                    多字符串查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#单字符串查询">
            
                    
                    单字符串查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#最佳字段">
            
                    
                    最佳字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.4" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#最佳字段查询调优">
            
                    
                    最佳字段查询调优
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.5" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#multi_match查询">
            
                    
                    multi_match 查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.6" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多数字段">
            
                    
                    多数字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.7" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#跨字段实体搜索">
            
                    
                    跨字段实体搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.8" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#字段中心式查询">
            
                    
                    字段中心式查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.9" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#自定义all字段">
            
                    
                    自定义 _all 字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.10" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#crossfields跨字段查询">
            
                    
                    cross-fields 跨字段查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.11" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#ExactValue精确值字段">
            
                    
                    Exact-Value 精确值字段
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#近似匹配">
            
                    
                    近似匹配
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.4.1" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#短语匹配">
            
                    
                    短语匹配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.2" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#混合起来">
            
                    
                    混合起来
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.3" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#多值字段">
            
                    
                    多值字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#越近越好">
            
                    
                    越近越好
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#使用邻近度提高相关度">
            
                    
                    使用邻近度提高相关度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#性能优化">
            
                    
                    性能优化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.7" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#寻找相关词">
            
                    
                    寻找相关词
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#部分匹配">
            
                    
                    部分匹配
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.5.1" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#邮编与结构化数据">
            
                    
                    邮编与结构化数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.2" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#prefix前缀查询">
            
                    
                    prefix 前缀查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.3" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#通配符与正则表达式查询">
            
                    
                    通配符与正则表达式查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#查询时输入即搜索">
            
                    
                    查询时输入即搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#索引时优化">
            
                    
                    索引时优化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#Ngrams在部分匹配的应用">
            
                    
                    Ngrams 在部分匹配的应用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.7" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#索引时输入即搜索">
            
                    
                    索引时输入即搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.8" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#Ngrams在复合词的应用">
            
                    
                    Ngrams 在复合词的应用
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#控制相关度">
            
                    
                    控制相关度
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.6.1" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#相关度评分背后的理论">
            
                    
                    相关度评分背后的理论
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.2" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#Lucene的实用评分函数">
            
                    
                    Lucene 的实用评分函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.3" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#查询时权重提升">
            
                    
                    查询时权重提升
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#使用查询结构修改相关度">
            
                    
                    使用查询结构修改相关度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#NotQuiteNot">
            
                    
                    Not Quite Not
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#忽略TFIDF">
            
                    
                    忽略 TF/IDF
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.7" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#functionscore查询">
            
                    
                    function_score 查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.8" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#按受欢迎度提升权重">
            
                    
                    按受欢迎度提升权重
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.9" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#过滤集提升权重">
            
                    
                    过滤集提升权重
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.10" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#随机评分">
            
                    
                    随机评分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.11" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#越近越好">
            
                    
                    越近越好
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.12" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#理解price价格语句">
            
                    
                    理解 price 价格语句
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.13" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#脚本评分">
            
                    
                    脚本评分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.14" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#可插拔的相似度算法">
            
                    
                    可插拔的相似度算法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.15" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#更改相似度">
            
                    
                    更改相似度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.16" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#调试相关度是最后10要做的事情">
            
                    
                    调试相关度是最后 10% 要做的事情
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="5.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#处理人类语言">
            
                    
                    处理人类语言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#开始处理各种语言">
            
                    
                    开始处理各种语言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.1.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#使用语言分析器">
            
                    
                    使用语言分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#配置语言分析器">
            
                    
                    配置语言分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#混合语言的陷阱">
            
                    
                    混合语言的陷阱
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#每份文档一种语言">
            
                    
                    每份文档一种语言
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#每个域一种语言">
            
                    
                    每个域一种语言
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.6" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#混合语言域">
            
                    
                    混合语言域
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#词汇识别">
            
                    
                    词汇识别
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.2.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#标准分析器">
            
                    
                    标准分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#标准分词器">
            
                    
                    标准分词器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#安装ICU插件">
            
                    
                    安装 ICU 插件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#icu分词器">
            
                    
                    icu_分词器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#整理输入文本">
            
                    
                    整理输入文本
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#归一化词元">
            
                    
                    归一化词元
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.3.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#举个例子">
            
                    
                    举个例子
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#如果有口音">
            
                    
                    如果有口音
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Unicode的世界">
            
                    
                    Unicode的世界
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Unicode大小写折叠">
            
                    
                    Unicode 大小写折叠
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Unicode字符折叠">
            
                    
                    Unicode 字符折叠
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.6" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#排序和整理">
            
                    
                    排序和整理
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#将单词还原为词根">
            
                    
                    将单词还原为词根
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.4.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#词干提取算法">
            
                    
                    词干提取算法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#字典词干提取器">
            
                    
                    字典词干提取器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Hunspell词干提取器">
            
                    
                    Hunspell 词干提取器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#选择一个词干提取器">
            
                    
                    选择一个词干提取器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#控制词干提取">
            
                    
                    控制词干提取
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.6" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#原形词干提取">
            
                    
                    原形词干提取
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词性能与精度">
            
                    
                    停用词: 性能与精度
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.5.1" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词的优缺点">
            
                    
                    停用词的优缺点
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.2" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#使用停用词">
            
                    
                    使用停用词
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.3" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词与性能">
            
                    
                    停用词与性能
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.4" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#词项的分别管理">
            
                    
                    词项的分别管理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词与短语查询">
            
                    
                    停用词与短语查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.6" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#commongrams过滤器">
            
                    
                    common_grams 过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.7" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词与相关性">
            
                    
                    停用词与相关性
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.6" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#同义词">
            
                    
                    同义词
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.6.1" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#使用同义词">
            
                    
                    使用同义词
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.2" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#同义词格式">
            
                    
                    同义词格式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.3" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#扩展或收缩">
            
                    
                    扩展或收缩
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.4" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#同义词和分析链">
            
                    
                    同义词和分析链
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#多词同义词和短语查询">
            
                    
                    多词同义词和短语查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.6" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#符号同义词">
            
                    
                    符号同义词
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.7" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#拼写错误">
            
                    
                    拼写错误
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.7.1" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊性">
            
                    
                    模糊性
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.2" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊查询">
            
                    
                    模糊查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.3" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊匹配查询">
            
                    
                    模糊匹配查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.4" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊性评分">
            
                    
                    模糊性评分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#语音匹配">
            
                    
                    语音匹配
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="6.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#聚合">
            
                    
                    聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#高阶概念">
            
                    
                    高阶概念
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.1.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#桶">
            
                    
                    桶
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#指标">
            
                    
                    指标
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#桶和指标的组合">
            
                    
                    桶和指标的组合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#尝试聚合">
            
                    
                    尝试聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.2.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#添加度量指标">
            
                    
                    添加度量指标
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#嵌套桶">
            
                    
                    嵌套桶
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#最后的修改">
            
                    
                    最后的修改
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#条形图">
            
                    
                    条形图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.4" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#按时间统计">
            
                    
                    按时间统计
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.4.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#返回空Buckets">
            
                    
                    返回空 Buckets
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.4.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#扩展例子">
            
                    
                    扩展例子
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.4.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#潜力无穷">
            
                    
                    潜力无穷
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.5" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#范围限定的聚合">
            
                    
                    范围限定的聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#过滤和聚合">
            
                    
                    过滤和聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.6.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#过滤">
            
                    
                    过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#过滤桶">
            
                    
                    过滤桶
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6.3" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#后过滤器">
            
                    
                    后过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6.4" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#小结5_2">
            
                    
                    小结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.7" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#多桶排序">
            
                    
                    多桶排序
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.7.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#内置排序">
            
                    
                    内置排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.7.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#按度量排序">
            
                    
                    按度量排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.7.3" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#基于深度度量排序">
            
                    
                    基于“深度”度量排序
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.8" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#近似聚合">
            
                    
                    近似聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.8.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#统计去重后的数量">
            
                    
                    统计去重后的数量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.8.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#百分位计算">
            
                    
                    百分位计算
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.9" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#通过聚合发现异常指标">
            
                    
                    通过聚合发现异常指标
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.9.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#significantterms演示">
            
                    
                    significant_terms 演示
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.10" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#DocValuesandFielddata">
            
                    
                    Doc Values and Fielddata
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.10.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#DocValues">
            
                    
                    Doc Values
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#深入理解DocValues">
            
                    
                    深入理解 Doc Values
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.3" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#聚合与分析">
            
                    
                    聚合与分析
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.4" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#限制内存使用">
            
                    
                    限制内存使用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.5" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#Fielddata的过滤">
            
                    
                    Fielddata 的过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.6" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#预加载fielddata">
            
                    
                    预加载 fielddata
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.7" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#优化聚合查询">
            
                    
                    优化聚合查询
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.11" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#总结5_2">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="7.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理位置">
            
                    
                    地理位置
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理坐标点">
            
                    
                    地理坐标点
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.1.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#经纬度坐标格式">
            
                    
                    经纬度坐标格式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#通过地理坐标点过滤">
            
                    
                    通过地理坐标点过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理坐标盒模型过滤器">
            
                    
                    地理坐标盒模型过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.4" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理距离过滤器">
            
                    
                    地理距离过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.5" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#按距离排序">
            
                    
                    按距离排序
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohashes6">
            
                    
                    Geohashes
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.2.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohashes映射">
            
                    
                    Geohashes 映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.2.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohash单元查询">
            
                    
                    Geohash 单元查询
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理位置聚合">
            
                    
                    地理位置聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.3.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理距离聚合">
            
                    
                    地理距离聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohash网格聚合">
            
                    
                    Geohash 网格聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理边界聚合">
            
                    
                    地理边界聚合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.4" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理形状">
            
                    
                    地理形状
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.4.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#映射地理形状">
            
                    
                    映射地理形状
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#索引地理形状">
            
                    
                    索引地理形状
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#查询地理形状">
            
                    
                    查询地理形状
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.4" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#在查询中使用已索引的形状">
            
                    
                    在查询中使用已索引的形状
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="8.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#数据建模">
            
                    
                    数据建模
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#关联关系处理">
            
                    
                    关联关系处理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.1.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#应用层联接">
            
                    
                    应用层联接
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#非规范化你的数据">
            
                    
                    非规范化你的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#字段折叠">
            
                    
                    字段折叠
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#非规范化和并发">
            
                    
                    非规范化和并发
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.5" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#解决并发问题">
            
                    
                    解决并发问题
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="8.1.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套对象">
            
                    
                    嵌套对象
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.2.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套对象映射">
            
                    
                    嵌套对象映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.2.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套对象查询">
            
                    
                    嵌套对象查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.2.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#使用嵌套字段排序">
            
                    
                    使用嵌套字段排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.2.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套聚合">
            
                    
                    嵌套聚合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="8.1.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#父子关系文档">
            
                    
                    父-子关系文档
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.3.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#父子关系文档映射">
            
                    
                    父-子关系文档映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#构建父子文档索引">
            
                    
                    构建父-子文档索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#通过子文档查询父文档">
            
                    
                    通过子文档查询父文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#通过父文档查询子文档">
            
                    
                    通过父文档查询子文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.5" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#子文档聚合">
            
                    
                    子文档聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.6" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#祖辈与孙辈关系">
            
                    
                    祖辈与孙辈关系
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.7" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#实际使用中的一些建议">
            
                    
                    实际使用中的一些建议
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="8.1.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#扩容设计">
            
                    
                    扩容设计
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.4.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#扩容的单元">
            
                    
                    扩容的单元
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#分片预分配">
            
                    
                    分片预分配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#海量分片">
            
                    
                    海量分片
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#容量规划">
            
                    
                    容量规划
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.5" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#副本分片">
            
                    
                    副本分片
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.6" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#多索引">
            
                    
                    多索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.7" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#基于时间的数据">
            
                    
                    基于时间的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.8" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#索引模板">
            
                    
                    索引模板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.9" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#数据过期">
            
                    
                    数据过期
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.10" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#基于用户的数据">
            
                    
                    基于用户的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.11" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#共享索引">
            
                    
                    共享索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.12" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#利用别名实现一个用户一个索引">
            
                    
                    利用别名实现一个用户一个索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.13" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#一个大的用户">
            
                    
                    一个大的用户
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.14" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#扩容并不是无限的">
            
                    
                    扩容并不是无限的
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="9.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#管理监控和部署">
            
                    
                    管理、监控和部署
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#监控">
            
                    
                    监控
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.1.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#Marvel监控">
            
                    
                    Marvel 监控
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#集群健康">
            
                    
                    集群健康
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#监控单个节点">
            
                    
                    监控单个节点
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.4" data-path="8_Admin.html">
            
                <a href="8_Admin.html#集群统计">
            
                    
                    集群统计
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.5" data-path="8_Admin.html">
            
                <a href="8_Admin.html#索引统计">
            
                    
                    索引统计
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.6" data-path="8_Admin.html">
            
                <a href="8_Admin.html#等待中的任务">
            
                    
                    等待中的任务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.7" data-path="8_Admin.html">
            
                <a href="8_Admin.html#catAPI">
            
                    
                    cat API
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="9.1.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#部署">
            
                    
                    部署
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.2.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#硬件">
            
                    
                    硬件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#Java虚拟机">
            
                    
                    Java 虚拟机
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#TransportClient与NodeClient">
            
                    
                    Transport Client 与 Node Client
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.4" data-path="8_Admin.html">
            
                <a href="8_Admin.html#配置管理">
            
                    
                    配置管理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.5" data-path="8_Admin.html">
            
                <a href="8_Admin.html#重要配置的修改">
            
                    
                    重要配置的修改
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.6" data-path="8_Admin.html">
            
                <a href="8_Admin.html#不要触碰这些配置">
            
                    
                    不要触碰这些配置！
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.7" data-path="8_Admin.html">
            
                <a href="8_Admin.html#堆内存大小和交换">
            
                    
                    堆内存:大小和交换
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.8" data-path="8_Admin.html">
            
                <a href="8_Admin.html#文件描述符和MMap">
            
                    
                    文件描述符和 MMap
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.9" data-path="8_Admin.html">
            
                <a href="8_Admin.html#在生产之前，重温这个列表">
            
                    
                    在生产之前，重温这个列表
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="9.1.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#部署后">
            
                    
                    部署后
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.3.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#动态变更设置">
            
                    
                    动态变更设置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#日志记录">
            
                    
                    日志记录
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#索引性能技巧">
            
                    
                    索引性能技巧
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.4" data-path="8_Admin.html">
            
                <a href="8_Admin.html#推迟分片分配">
            
                    
                    推迟分片分配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.5" data-path="8_Admin.html">
            
                <a href="8_Admin.html#滚动重启">
            
                    
                    滚动重启
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.6" data-path="8_Admin.html">
            
                <a href="8_Admin.html#备份你的集群">
            
                    
                    备份你的集群
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.7" data-path="8_Admin.html">
            
                <a href="8_Admin.html#从快照恢复">
            
                    
                    从快照恢复
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.8" data-path="8_Admin.html">
            
                <a href="8_Admin.html#集群是活着的呼吸着的生命">
            
                    
                    集群是活着的、呼吸着的生命
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本书使用 GitBook 发布
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >处理人类语言</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div class="search-plus" id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <div id="anchor-navigation-ex-navbar"><i class="fa fa-anchor"></i><ul><li><a href="#&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;">&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;</a></li><ul><li><a href="#&#x5F00;&#x59CB;&#x5904;&#x7406;&#x5404;&#x79CD;&#x8BED;&#x8A00;">&#x5F00;&#x59CB;&#x5904;&#x7406;&#x5404;&#x79CD;&#x8BED;&#x8A00;</a></li><ul><li><a href="#&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;">&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;</a></li><li><a href="#&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;">&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;</a></li><li><a href="#&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;">&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;</a></li><li><a href="#&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;">&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</a></li><li><a href="#&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;">&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</a></li><li><a href="#&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;">&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;</a></li></ul><li><a href="#&#x8BCD;&#x6C47;&#x8BC6;&#x522B;">&#x8BCD;&#x6C47;&#x8BC6;&#x522B;</a></li><ul><li><a href="#&#x6807;&#x51C6;&#x5206;&#x6790;&#x5668;">&#x6807;&#x51C6;&#x5206;&#x6790;&#x5668;</a></li><li><a href="#&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;">&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</a></li><li><a href="#&#x5B89;&#x88C5;ICU&#x63D2;&#x4EF6;">&#x5B89;&#x88C5; ICU &#x63D2;&#x4EF6;  </a></li><li><a href="#icu&#x5206;&#x8BCD;&#x5668;">icu_&#x5206;&#x8BCD;&#x5668;  </a></li><li><a href="#&#x6574;&#x7406;&#x8F93;&#x5165;&#x6587;&#x672C;">&#x6574;&#x7406;&#x8F93;&#x5165;&#x6587;&#x672C;</a></li></ul><li><a href="#&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;">&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;</a></li><ul><li><a href="#&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;">&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;</a></li><li><a href="#&#x5982;&#x679C;&#x6709;&#x53E3;&#x97F3;">&#x5982;&#x679C;&#x6709;&#x53E3;&#x97F3;</a></li><li><a href="#Unicode&#x7684;&#x4E16;&#x754C;">Unicode&#x7684;&#x4E16;&#x754C;  </a></li><li><a href="#Unicode&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;">Unicode &#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;  </a></li><li><a href="#Unicode&#x5B57;&#x7B26;&#x6298;&#x53E0;">Unicode &#x5B57;&#x7B26;&#x6298;&#x53E0;  </a></li><li><a href="#&#x6392;&#x5E8F;&#x548C;&#x6574;&#x7406;">&#x6392;&#x5E8F;&#x548C;&#x6574;&#x7406;</a></li></ul><li><a href="#&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;">&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;</a></li><ul><li><a href="#&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;">&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;</a></li><li><a href="#&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;">&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</a></li><li><a href="#Hunspell&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;">Hunspell &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;  </a></li><li><a href="#&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;">&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</a></li><li><a href="#&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;">&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a></li><li><a href="#&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;">&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a></li></ul></ul></ul></div><a href="#&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;" id="anchorNavigationExGoTop"><i class="fa fa-arrow-up"></i></a><h1 id="&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;"><a name="&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;" class="anchor-navigation-ex-anchor" href="#&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5904;&#x7406;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;</h1>
<hr>
<p>&#x201C;&#x6211;&#x8BA4;&#x8BC6;&#x8FD9;&#x53E5;&#x8BDD;&#x91CC;&#x7684;&#x6240;&#x6709;&#x5355;&#x8BCD;&#xFF0C;&#x4F46;&#x5E76;&#x4E0D;&#x80FD;&#x7406;&#x89E3;&#x5168;&#x53E5;&#x3002;&#x201D; 
                                                                                  -- Matt Groening     </p>
<hr>
<p>&#x5168;&#x6587;&#x641C;&#x7D22;&#x662F;&#x4E00;&#x573A; <em>&#x67E5;&#x51C6;&#x7387;</em> &#x4E0E; <em>&#x67E5;&#x5168;&#x7387;</em> &#x4E4B;&#x95F4;&#x7684;&#x8F83;&#x91CF;&#x2014;&#x67E5;&#x51C6;&#x7387;&#x5373;&#x5C3D;&#x91CF;&#x8FD4;&#x56DE;&#x8F83;&#x5C11;&#x7684;&#x65E0;&#x5173;&#x6587;&#x6863;&#xFF0C;&#x800C;&#x67E5;&#x5168;&#x7387;&#x5219;&#x5C3D;&#x91CF;&#x8FD4;&#x56DE;&#x8F83;&#x591A;&#x7684;&#x76F8;&#x5173;&#x6587;&#x6863;&#x3002; &#x5C3D;&#x7BA1;&#x80FD;&#x591F;&#x7CBE;&#x51C6;&#x5339;&#x914D;&#x7528;&#x6237;&#x67E5;&#x8BE2;&#x7684;&#x5355;&#x8BCD;&#xFF0C;&#x4F46;&#x8FD9;&#x4ECD;&#x7136;&#x4E0D;&#x591F;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x9519;&#x8FC7;&#x5F88;&#x591A;&#x88AB;&#x7528;&#x6237;&#x8BA4;&#x4E3A;&#x662F;&#x76F8;&#x5173;&#x7684;&#x6587;&#x6863;&#x3002; &#x56E0;&#x6B64;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x628A;&#x7F51;&#x6492;&#x5F97;&#x66F4;&#x5E7F;&#x4E00;&#x4E9B;&#xFF0C;&#x53BB;&#x641C;&#x7D22;&#x90A3;&#x4E9B;&#x548C;&#x539F;&#x6587;&#x4E0D;&#x662F;&#x5B8C;&#x5168;&#x5339;&#x914D;&#x4F46;&#x5374;&#x76F8;&#x5173;&#x7684;&#x5355;&#x8BCD;&#x3002;</p>
<p>&#x96BE;&#x9053;&#x4F60;&#x4E0D;&#x671F;&#x5F85;&#x5728;&#x641C;&#x7D22;&#x201C;quick brown fox&#x201C;&#x65F6;&#x5339;&#x914D;&#x5230;&#x5305;&#x542B;&#x201C;fast brown foxed&#x201C;&#x7684;&#x6587;&#x6863;&#xFF0C;&#x6216;&#x662F;&#x641C;&#x7D22;&#x201C;Johnny Walker&#x201C;&#x65F6;&#x5339;&#x914D;&#x5230;&#x201C;Johnnie Walker&#x201C;&#xFF0C; &#x53C8;&#x6216;&#x662F;&#x641C;&#x7D22;&#x201C;Arnolt Schwarzenneger&#x201C;&#x65F6;&#x5339;&#x914D;&#x5230;&#x201C;Arnold Schwarzenegger&#x201C;&#x5417;&#xFF1F;</p>
<p>&#x5982;&#x679C;&#x6587;&#x6863; <em>&#x786E;&#x5B9E;</em> &#x5305;&#x542B;&#x7528;&#x6237;&#x67E5;&#x8BE2;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x90A3;&#x4E48;&#x8FD9;&#x4E9B;&#x6587;&#x6863;&#x5E94;&#x5F53;&#x51FA;&#x73B0;&#x5728;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x7684;&#x6700;&#x524D;&#x9762;&#xFF0C;&#x800C;&#x5339;&#x914D;&#x7A0B;&#x5EA6;&#x8F83;&#x4F4E;&#x7684;&#x6587;&#x6863;&#x5C06;&#x4F1A;&#x6392;&#x5728;&#x9760;&#x540E;&#x7684;&#x4F4D;&#x7F6E;&#x3002; &#x5982;&#x679C;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x5B8C;&#x5168;&#x5339;&#x914D;&#x7684;&#x6587;&#x6863;&#xFF0C;&#x6211;&#x4EEC;&#x81F3;&#x5C11;&#x53EF;&#x4EE5;&#x7ED9;&#x7528;&#x6237;&#x5C55;&#x793A;&#x4E00;&#x4E9B;&#x6F5C;&#x5728;&#x7684;&#x5339;&#x914D;&#x7ED3;&#x679C;&#xFF1B;&#x5B83;&#x4EEC;&#x751A;&#x81F3;&#x53EF;&#x80FD;&#x5C31;&#x662F;&#x7528;&#x6237;&#x6700;&#x521D;&#x60F3;&#x8981;&#x7684;&#x7ED3;&#x679C;&#x3002;</p>
<p>&#x4EE5;&#x4E0B;&#x5217;&#x51FA;&#x4E86;&#x4E00;&#x4E9B;&#x53EF;&#x4F18;&#x5316;&#x7684;&#x5730;&#x65B9;&#xFF1A;</p>
<ul>
<li>&#x6E05;&#x9664;&#x7C7B;&#x4F3C; <code>&#xB4;</code> &#xFF0C; <code>^</code> &#xFF0C; <code>&#xA8;</code> &#x7684;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#xFF0C;&#x8FD9;&#x6837;&#x5728;&#x641C;&#x7D22; <code>r&#xF4;le</code> &#x7684;&#x65F6;&#x5019;&#x4E5F;&#x4F1A;&#x5339;&#x914D; <code>role</code> &#xFF0C;&#x53CD;&#x4E4B;&#x4EA6;&#x7136;&#x3002;&#x8BF7;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/token-normalization.html" target="_blank"><em>&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;</em></a>&#x3002;</li>
<li>&#x901A;&#x8FC7;&#x63D0;&#x53D6;&#x5355;&#x8BCD;&#x7684;&#x8BCD;&#x5E72;&#xFF0C;&#x6E05;&#x9664;&#x5355;&#x6570;&#x548C;&#x590D;&#x6570;&#x4E4B;&#x95F4;&#x7684;&#x5DEE;&#x5F02;&#x2014;<code>fox</code> &#x4E0E; <code>foxes</code>&#x2014;&#x4EE5;&#x53CA;&#x65F6;&#x6001;&#x4E0A;&#x7684;&#x5DEE;&#x5F02;&#x2014;<code>jumping</code>&#x3001; <code>jumped</code> &#x4E0E; <code>jumps</code> &#x3002;&#x8BF7;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stemming.html" target="_blank"><em>&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;</em></a>&#x3002;</li>
<li>&#x6E05;&#x9664;&#x5E38;&#x7528;&#x8BCD;&#x6216;&#x8005; <em>&#x505C;&#x7528;&#x8BCD;</em> &#xFF0C;&#x5982; <code>the</code> &#xFF0C; <code>and</code> &#xFF0C; &#x548C; <code>or</code> &#xFF0C;&#x4ECE;&#x800C;&#x63D0;&#x5347;&#x641C;&#x7D22;&#x6027;&#x80FD;&#x3002;&#x8BF7;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stopwords.html" target="_blank"><em>&#x505C;&#x7528;&#x8BCD;: &#x6027;&#x80FD;&#x4E0E;&#x7CBE;&#x5EA6;</em></a>&#x3002;</li>
<li>&#x5305;&#x542B;&#x540C;&#x4E49;&#x8BCD;&#xFF0C;&#x8FD9;&#x6837;&#x5728;&#x641C;&#x7D22; <code>quick</code> &#x65F6;&#x4E5F;&#x53EF;&#x4EE5;&#x5339;&#x914D; <code>fast</code> &#xFF0C;&#x6216;&#x8005;&#x5728;&#x641C;&#x7D22; <code>UK</code> &#x65F6;&#x5339;&#x914D; <code>United Kingdom</code> &#x3002; &#x8BF7;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/synonyms.html" target="_blank"><em>&#x540C;&#x4E49;&#x8BCD;</em></a>&#x3002;</li>
<li>&#x68C0;&#x67E5;&#x62FC;&#x5199;&#x9519;&#x8BEF;&#x548C;&#x66FF;&#x4EE3;&#x62FC;&#x5199;&#x65B9;&#x5F0F;&#xFF0C;&#x6216;&#x8005; <em>&#x540C;&#x97F3;&#x5F02;&#x578B;&#x8BCD;</em> &#x2014;&#x53D1;&#x97F3;&#x4E00;&#x81F4;&#x7684;&#x4E0D;&#x540C;&#x5355;&#x8BCD;&#xFF0C;&#x4F8B;&#x5982; <code>their</code> &#x4E0E; <code>there</code> &#xFF0C; <code>meat</code> &#x3001; <code>meet</code> &#x4E0E; <code>mete</code> &#x3002; &#x8BF7;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/fuzzy-matching.html" target="_blank"><em>&#x62FC;&#x5199;&#x9519;&#x8BEF;</em></a>&#x3002;</li>
</ul>
<p>&#x5728;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x64CD;&#x63A7;&#x5355;&#x4E2A;&#x5355;&#x8BCD;&#x4E4B;&#x524D;&#xFF0C;&#x9700;&#x8981;&#x5148;&#x5C06;&#x6587;&#x672C;&#x5207;&#x5206;&#x6210;&#x5355;&#x8BCD;&#xFF0C; &#x8FD9;&#x4E5F;&#x610F;&#x5473;&#x7740;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x77E5;&#x9053; <em>&#x5355;&#x8BCD;</em> &#x662F;&#x7531;&#x4EC0;&#x4E48;&#x7EC4;&#x6210;&#x7684;&#x3002;&#x6211;&#x4EEC;&#x5C06;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/identifying-words.html" target="_blank"><em>&#x8BCD;&#x6C47;&#x8BC6;&#x522B;</em></a> &#x7AE0;&#x8282;&#x9610;&#x91CA;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x3002;</p>
<p>&#x5728;&#x8FD9;&#x4E4B;&#x524D;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x770B;&#x5982;&#x4F55;&#x66F4;&#x5FEB;&#x66F4;&#x7B80;&#x5355;&#x5730;&#x5F00;&#x59CB;&#x3002;</p>
<h2 id="&#x5F00;&#x59CB;&#x5904;&#x7406;&#x5404;&#x79CD;&#x8BED;&#x8A00;"><a name="&#x5F00;&#x59CB;&#x5904;&#x7406;&#x5404;&#x79CD;&#x8BED;&#x8A00;" class="anchor-navigation-ex-anchor" href="#&#x5F00;&#x59CB;&#x5904;&#x7406;&#x5404;&#x79CD;&#x8BED;&#x8A00;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5F00;&#x59CB;&#x5904;&#x7406;&#x5404;&#x79CD;&#x8BED;&#x8A00;</h2>
<p>Elasticsearch &#x4E3A;&#x5F88;&#x591A;&#x4E16;&#x754C;&#x6D41;&#x884C;&#x8BED;&#x8A00;&#x63D0;&#x4F9B;&#x826F;&#x597D;&#x7684;&#x3001;&#x7B80;&#x5355;&#x7684;&#x3001;&#x5F00;&#x7BB1;&#x5373;&#x7528;&#x7684;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#x96C6;&#x5408;&#xFF1A;</p>
<p>&#x963F;&#x62C9;&#x4F2F;&#x8BED;&#x3001;&#x4E9A;&#x7F8E;&#x5C3C;&#x4E9A;&#x8BED;&#x3001;&#x5DF4;&#x65AF;&#x514B;&#x8BED;&#x3001;&#x5DF4;&#x897F;&#x8BED;&#x3001;&#x4FDD;&#x52A0;&#x5229;&#x4E9A;&#x8BED;&#x3001;&#x52A0;&#x6CF0;&#x7F57;&#x5C3C;&#x4E9A;&#x8BED;&#x3001;&#x4E2D;&#x6587;&#x3001;&#x6377;&#x514B;&#x8BED;&#x3001;&#x4E39;&#x9EA6;&#x3001;&#x8377;&#x5170;&#x8BED;&#x3001;&#x82F1;&#x8BED;&#x3001;&#x82AC;&#x5170;&#x8BED;&#x3001;&#x6CD5;&#x8BED;&#x3001;&#x52A0;&#x91CC;&#x897F;&#x4E9A;&#x8BED;&#x3001;&#x5FB7;&#x8BED;&#x3001;&#x5E0C;&#x814A;&#x8BED;&#x3001;&#x5317;&#x5370;&#x5EA6;&#x8BED;&#x3001;&#x5308;&#x7259;&#x5229;&#x8BED;&#x3001;&#x5370;&#x5EA6;&#x5C3C;&#x897F;&#x4E9A;&#x3001;&#x7231;&#x5C14;&#x5170;&#x8BED;&#x3001;&#x610F;&#x5927;&#x5229;&#x8BED;&#x3001;&#x65E5;&#x8BED;&#x3001;&#x97E9;&#x56FD;&#x8BED;&#x3001;&#x5E93;&#x5C14;&#x5FB7;&#x8BED;&#x3001;&#x632A;&#x5A01;&#x8BED;&#x3001;&#x6CE2;&#x65AF;&#x8BED;&#x3001;&#x8461;&#x8404;&#x7259;&#x8BED;&#x3001;&#x7F57;&#x9A6C;&#x5C3C;&#x4E9A;&#x8BED;&#x3001;&#x4FC4;&#x8BED;&#x3001;&#x897F;&#x73ED;&#x7259;&#x8BED;&#x3001;&#x745E;&#x5178;&#x8BED;&#x3001;&#x571F;&#x8033;&#x5176;&#x8BED;&#x548C;&#x6CF0;&#x8BED;&#x3002;</p>
<p>&#x8FD9;&#x4E9B;&#x5206;&#x6790;&#x5668;&#x627F;&#x62C5;&#x4EE5;&#x4E0B;&#x56DB;&#x79CD;&#x89D2;&#x8272;&#xFF1A;</p>
<ul>
<li><p>&#x6587;&#x672C;&#x62C6;&#x5206;&#x4E3A;&#x5355;&#x8BCD;&#xFF1A;</p>
<p><code>The quick brown foxes</code> &#x2192; [ <code>The</code>, <code>quick</code>, <code>brown</code>, <code>foxes</code>]</p>
</li>
<li><p>&#x5927;&#x5199;&#x8F6C;&#x5C0F;&#x5199;&#xFF1A;</p>
<p><code>The</code> &#x2192; <code>the</code></p>
</li>
<li><p>&#x79FB;&#x9664;&#x5E38;&#x7528;&#x7684; <em>&#x505C;&#x7528;&#x8BCD;</em>&#xFF1A;</p>
<p>[ <code>The</code>, <code>quick</code>, <code>brown</code>, <code>foxes</code>] &#x2192; [ <code>quick</code>, <code>brown</code>, <code>foxes</code>]</p>
</li>
<li><p>&#x5C06;&#x53D8;&#x578B;&#x8BCD;&#xFF08;&#x4F8B;&#x5982;&#x590D;&#x6570;&#x8BCD;&#xFF0C;&#x8FC7;&#x53BB;&#x5F0F;&#xFF09;&#x8F6C;&#x5316;&#x4E3A;&#x8BCD;&#x6839;&#xFF1A;</p>
<p><code>foxes</code> &#x2192; <code>fox</code></p>
</li>
</ul>
<p>&#x4E3A;&#x4E86;&#x66F4;&#x597D;&#x7684;&#x641C;&#x7D22;&#x6027;&#xFF0C;&#x6BCF;&#x4E2A;&#x8BED;&#x8A00;&#x7684;&#x5206;&#x6790;&#x5668;&#x63D0;&#x4F9B;&#x4E86;&#x8BE5;&#x8BED;&#x8A00;&#x8BCD;&#x6C47;&#x7684;&#x5177;&#x4F53;&#x8F6C;&#x6362;&#x89C4;&#x5219;&#xFF1A;</p>
<ul>
<li><p><code>&#x82F1;&#x8BED;</code> &#x5206;&#x6790;&#x5668;&#x79FB;&#x9664;&#x4E86;&#x6240;&#x6709;&#x683C; <code>&apos;s</code></p>
<p><code>John&apos;s</code> &#x2192; <code>john</code></p>
</li>
<li><p><code>&#x6CD5;&#x8BED;</code> &#x5206;&#x6790;&#x5668;&#x79FB;&#x9664;&#x4E86; <em>&#x5143;&#x97F3;&#x7701;&#x7565;</em> &#x4F8B;&#x5982; <code>l&apos;</code> &#x548C; <code>qu&apos;</code> &#x548C; <em>&#x53D8;&#x97F3;&#x7B26;&#x53F7;</em> &#x4F8B;&#x5982; <code>&#xA8;</code> &#x6216; <code>^</code> &#xFF1A;</p>
<p><code>l&apos;&#xE9;glise</code> &#x2192; <code>eglis</code></p>
</li>
<li><p><code>&#x5FB7;&#x8BED;</code> &#x5206;&#x6790;&#x5668;&#x89C4;&#x8303;&#x5316;&#x4E86;&#x5207;&#x8BCD;&#xFF0C; &#x5C06;&#x5207;&#x8BCD;&#x4E2D;&#x7684; <code>&#xE4;</code> &#x548C; <code>ae</code> &#x66FF;&#x6362;&#x4E3A; <code>a</code> &#xFF0C; &#x6216;&#x5C06; <code>&#xDF;</code> &#x66FF;&#x6362;&#x4E3A; <code>ss</code> &#xFF1A;</p>
<p><code>&#xE4;u&#xDF;erst</code> &#x2192; <code>ausserst</code></p>
</li>
</ul>
<h3 id="&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;"><a name="&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;</h3>
<p>Elasticsearch &#x7684;&#x5185;&#x7F6E;&#x5206;&#x6790;&#x5668;&#x90FD;&#x662F;&#x5168;&#x5C40;&#x53EF;&#x7528;&#x7684;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x63D0;&#x524D;&#x914D;&#x7F6E;&#xFF0C; &#x5B83;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x5728;&#x5B57;&#x6BB5;&#x6620;&#x5C04;&#x4E2D;&#x76F4;&#x63A5;&#x6307;&#x5B9A;&#x5728;&#x67D0;&#x5B57;&#x6BB5;&#x4E0A;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;blog&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;title&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;english&quot;</span>             &lt;<span class="hljs-number">1</span>&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>title</code> &#x5B57;&#x6BB5;&#x5C06;&#x4F1A;&#x7528; <code>english</code>&#xFF08;&#x82F1;&#x8BED;&#xFF09;&#x5206;&#x6790;&#x5668;&#x66FF;&#x6362;&#x9ED8;&#x8BA4;&#x7684; <code>standard</code>&#xFF08;&#x6807;&#x51C6;&#xFF09;&#x5206;&#x6790;&#x5668;   </p>
</blockquote>
<p>&#x5F53;&#x7136;&#xFF0C;&#x6587;&#x672C;&#x7ECF;&#x8FC7; <code>english</code> &#x5206;&#x6790;&#x5904;&#x7406;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x4E22;&#x5931;&#x6E90;&#x6570;&#x636E;&#xFF1A;</p>
<pre><code class="lang-js">GET /my_index/_analyze?field=title      &lt;1&gt;
I&apos;m not happy about the foxes
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5207;&#x8BCD;&#x4E3A;: <code>i&apos;m</code>&#xFF0C;<code>happi</code>&#xFF0C;<code>about</code>&#xFF0C;<code>fox</code>   </p>
</blockquote>
<p>&#x6211;&#x4EEC;&#x65E0;&#x6CD5;&#x5206;&#x8FA8;&#x6E90;&#x6587;&#x6863;&#x4E2D;&#x662F;&#x5305;&#x542B;&#x5355;&#x6570; <code>fox</code> &#x8FD8;&#x662F;&#x590D;&#x6570; <code>foxes</code> &#xFF1B;&#x5355;&#x8BCD; <code>not</code> &#x56E0;&#x4E3A;&#x662F;&#x505C;&#x7528;&#x8BCD;&#x6240;&#x4EE5;&#x88AB;&#x79FB;&#x9664;&#x4E86;&#xFF0C; &#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x65E0;&#x6CD5;&#x5206;&#x8FA8;&#x6E90;&#x6587;&#x6863;&#x4E2D;&#x662F;happy about foxes&#x8FD8;&#x662F;not happy about foxes&#xFF0C;&#x867D;&#x7136;&#x901A;&#x8FC7;&#x4F7F;&#x7528; <code>english</code> &#xFF08;&#x82F1;&#x8BED;&#xFF09;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x4F7F;&#x5F97;&#x5339;&#x914D;&#x89C4;&#x5219;&#x66F4;&#x52A0;&#x5BBD;&#x677E;&#xFF0C;&#x6211;&#x4EEC;&#x4E5F;&#x56E0;&#x6B64;&#x63D0;&#x9AD8;&#x4E86;&#x53EC;&#x56DE;&#x7387;&#xFF0C;&#x4F46;&#x5374;&#x964D;&#x4F4E;&#x4E86;&#x7CBE;&#x51C6;&#x5339;&#x914D;&#x6587;&#x6863;&#x7684;&#x80FD;&#x529B;&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x83B7;&#x5F97;&#x4E24;&#x65B9;&#x9762;&#x7684;&#x4F18;&#x52BF;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;<a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/multi-fields.html" target="_blank">multifields</a>&#xFF08;&#x591A;&#x5B57;&#x6BB5;&#xFF09;&#x5BF9; <code>title</code> &#x5B57;&#x6BB5;&#x5EFA;&#x7ACB;&#x4E24;&#x6B21;&#x7D22;&#x5F15;&#xFF1A; &#x4E00;&#x6B21;&#x4F7F;&#x7528;<code>english</code>&#xFF08;&#x82F1;&#x8BED;&#xFF09;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x53E6;&#x4E00;&#x6B21;&#x4F7F;&#x7528; <code>standard</code>&#xFF08;&#x6807;&#x51C6;&#xFF09;&#x5206;&#x6790;&#x5668;:</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;blog&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;title&quot;</span>: {                           &lt;1&gt;
          &quot;type&quot;: &quot;string&quot;,
          &quot;fields&quot;: {
            &quot;english&quot;: {                     &lt;2&gt;
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;english&quot;
            }
          }
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x4E3B; <code>title</code> &#x5B57;&#x6BB5;&#x4F7F;&#x7528; <code>standard</code>&#xFF08;&#x6807;&#x51C6;&#xFF09;&#x5206;&#x6790;&#x5668;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <code>title.english</code> &#x5B50;&#x5B57;&#x6BB5;&#x4F7F;&#x7528; <code>english</code>&#xFF08;&#x82F1;&#x8BED;&#xFF09;&#x5206;&#x6790;&#x5668;&#x3002;  </p>
</blockquote>
<p>&#x66FF;&#x6362;&#x4E3A;&#x8BE5;&#x5B57;&#x6BB5;&#x6620;&#x5C04;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7D22;&#x5F15;&#x4E00;&#x4E9B;&#x6D4B;&#x8BD5;&#x6587;&#x6863;&#x6765;&#x5C55;&#x793A;&#x600E;&#x4E48;&#x5728;&#x641C;&#x7D22;&#x65F6;&#x4F7F;&#x7528;&#x4E24;&#x4E2A;&#x5B57;&#x6BB5;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/blog/<span class="hljs-number">1</span>
{ <span class="hljs-string">&quot;title&quot;</span>: <span class="hljs-string">&quot;I&apos;m happy for this fox&quot;</span> }

PUT /my_index/blog/<span class="hljs-number">2</span>
{ <span class="hljs-string">&quot;title&quot;</span>: <span class="hljs-string">&quot;I&apos;m not happy about my fox problem&quot;</span> }

GET /_search
{
  <span class="hljs-string">&quot;query&quot;</span>: {
    <span class="hljs-string">&quot;multi_match&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;most_fields&quot;</span>,                       <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
      &quot;query&quot;:    &quot;not happy foxes&quot;,
      &quot;fields&quot;: [ &quot;title&quot;, &quot;title.english&quot; ]
    }
  }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x4F7F;&#x7528;<a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/most-fields.html" target="_blank"><code>most_fields</code></a> query type&#xFF08;&#x591A;&#x5B57;&#x6BB5;&#x641C;&#x7D22;&#x8BED;&#x6CD5;&#x6765;&#xFF09;&#x8BA9;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528;&#x591A;&#x4E2A;&#x5B57;&#x6BB5;&#x6765;&#x5339;&#x914D;&#x540C;&#x4E00;&#x6BB5;&#x6587;&#x672C;&#x3002;   </p>
</blockquote>
<p>&#x611F;&#x8C22; <code>title.english</code> &#x5B57;&#x6BB5;&#x7684;&#x5207;&#x8BCD;&#xFF0C;&#x65E0;&#x8BBA;&#x6211;&#x4EEC;&#x7684;&#x6587;&#x6863;&#x4E2D;&#x662F;&#x5426;&#x542B;&#x6709;&#x5355;&#x8BCD; <code>foxes</code> &#x90FD;&#x4F1A;&#x88AB;&#x641C;&#x7D22;&#x5230;&#xFF0C;&#x7B2C;&#x4E8C;&#x4EFD;&#x6587;&#x6863;&#x7684;&#x76F8;&#x5173;&#x6027;&#x6392;&#x884C;&#x8981;&#x6BD4;&#x7B2C;&#x4E00;&#x4EFD;&#x9AD8;&#xFF0C; &#x56E0;&#x4E3A;&#x5728; <code>title</code> &#x5B57;&#x6BB5;&#x4E2D;&#x5339;&#x914D;&#x5230;&#x4E86;&#x5355;&#x8BCD; <code>not</code> &#x3002;</p>
<h3 id="&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;"><a name="&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;</h3>
<p>&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#x90FD;&#x4E0D;&#x9700;&#x8981;&#x4EFB;&#x4F55;&#x914D;&#x7F6E;&#xFF0C;&#x5F00;&#x7BB1;&#x5373;&#x7528;&#xFF0C; &#x5B83;&#x4EEC;&#x4E2D;&#x7684;&#x5927;&#x591A;&#x6570;&#x90FD;&#x5141;&#x8BB8;&#x4F60;&#x63A7;&#x5236;&#x5B83;&#x4EEC;&#x7684;&#x5404;&#x65B9;&#x9762;&#x884C;&#x4E3A;&#xFF0C;&#x5177;&#x4F53;&#x6765;&#x8BF4;&#xFF1A;</p>
<ul>
<li><p>&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x6392;&#x9664;</p>
<p>&#x60F3;&#x8C61;&#x4E0B;&#x67D0;&#x4E2A;&#x573A;&#x666F;&#xFF0C;&#x7528;&#x6237;&#x4EEC;&#x60F3;&#x8981;&#x641C;&#x7D22; <code>World Health Organization</code> &#x7684;&#x7ED3;&#x679C;&#xFF0C; &#x4F46;&#x662F;&#x5374;&#x88AB;&#x66FF;&#x6362;&#x4E3A;&#x641C;&#x7D22; <code>organ health</code> &#x7684;&#x7ED3;&#x679C;&#x3002;&#x6709;&#x8FD9;&#x4E2A;&#x56F0;&#x60D1;&#x662F;&#x56E0;&#x4E3A; <code>organ</code> &#x548C; <code>organization</code> &#x6709;&#x76F8;&#x540C;&#x7684;&#x8BCD;&#x6839;&#xFF1A; <code>organ</code> &#x3002; &#x901A;&#x5E38;&#x8FD9;&#x4E0D;&#x662F;&#x4EC0;&#x4E48;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x5728;&#x4E00;&#x4E9B;&#x7279;&#x6B8A;&#x7684;&#x6587;&#x6863;&#x4E2D;&#x5C31;&#x4F1A;&#x5BFC;&#x81F4;&#x6709;&#x6B67;&#x4E49;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x9632;&#x6B62;&#x5355;&#x8BCD; <code>organization</code> &#x548C; <code>organizations</code> &#x88AB;&#x7F29;&#x51CF;&#x4E3A;&#x8BCD;&#x5E72;&#x3002;</p>
</li>
<li><p>&#x81EA;&#x5B9A;&#x4E49;&#x505C;&#x7528;&#x8BCD;</p>
<p>&#x82F1;&#x8BED;&#x4E2D;&#x9ED8;&#x8BA4;&#x7684;&#x505C;&#x7528;&#x8BCD;&#x5217;&#x8868;&#x5982;&#x4E0B;&#xFF1A;<code>a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or, such, that, the, their, then, there, these, they, this, to, was, will, with</code>&#x5173;&#x4E8E;&#x5355;&#x8BCD; <code>no</code> &#x548C; <code>not</code> &#x6709;&#x70B9;&#x7279;&#x522B;&#xFF0C;&#x8FD9;&#x4FE9;&#x8BCD;&#x4F1A;&#x53CD;&#x8F6C;&#x8DDF;&#x5728;&#x5B83;&#x4EEC;&#x540E;&#x9762;&#x7684;&#x8BCD;&#x6C47;&#x7684;&#x542B;&#x4E49;&#x3002;&#x6216;&#x8BB8;&#x6211;&#x4EEC;&#x5E94;&#x8BE5;&#x8BA4;&#x4E3A;&#x8FD9;&#x4E24;&#x4E2A;&#x8BCD;&#x5F88;&#x91CD;&#x8981;&#xFF0C;&#x4E0D;&#x5E94;&#x8BE5;&#x628A;&#x4ED6;&#x4EEC;&#x770B;&#x6210;&#x505C;&#x7528;&#x8BCD;&#x3002;</p>
</li>
</ul>
<p>&#x4E3A;&#x4E86;&#x81EA;&#x5B9A;&#x4E49; <code>english</code> &#xFF08;&#x82F1;&#x8BED;&#xFF09;&#x5206;&#x8BCD;&#x5668;&#x7684;&#x884C;&#x4E3A;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x57FA;&#x4E8E; <code>english</code> &#xFF08;&#x82F1;&#x8BED;&#xFF09;&#x5206;&#x6790;&#x5668;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x81EA;&#x5B9A;&#x4E49;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x6DFB;&#x52A0;&#x4E00;&#x4E9B;&#x914D;&#x7F6E;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;my_english&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;english&quot;</span>,
          <span class="hljs-string">&quot;stem_exclusion&quot;</span>: [ <span class="hljs-string">&quot;organization&quot;</span>, <span class="hljs-string">&quot;organizations&quot;</span> ],               &lt;1&gt;
          &quot;stopwords&quot;: [                                                       &lt;2&gt;
            &quot;a&quot;, &quot;an&quot;, &quot;and&quot;, &quot;are&quot;, &quot;as&quot;, &quot;at&quot;, &quot;be&quot;, &quot;but&quot;, &quot;by&quot;, &quot;for&quot;,
            &quot;if&quot;, &quot;in&quot;, &quot;into&quot;, &quot;is&quot;, &quot;it&quot;, &quot;of&quot;, &quot;on&quot;, &quot;or&quot;, &quot;such&quot;, &quot;that&quot;,
            &quot;the&quot;, &quot;their&quot;, &quot;then&quot;, &quot;there&quot;, &quot;these&quot;, &quot;they&quot;, &quot;this&quot;, &quot;to&quot;,
            &quot;was&quot;, &quot;will&quot;, &quot;with&quot;
          ]
        }
      }
    }
  }
}

GET /my_index/_analyze?analyzer=my_english                                     &lt;3&gt;
The World Health Organization does not sell organs.
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x9632;&#x6B62; <code>organization</code> &#x548C; <code>organizations</code> &#x88AB;&#x7F29;&#x51CF;&#x4E3A;&#x8BCD;&#x5E72;       </p>
<p> <img src="assets/2.png" alt="img">  &#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x81EA;&#x5B9A;&#x4E49;&#x505C;&#x7528;&#x8BCD;&#x5217;&#x8868;                             </p>
<p> <img src="assets/3.png" alt="img">  &#x5207;&#x8BCD;&#x4E3A; <code>world</code> &#x3001; <code>health</code> &#x3001; <code>organization</code> &#x3001; <code>does</code> &#x3001; <code>not</code> &#x3001; <code>sell</code> &#x3001; <code>organ</code>   </p>
</blockquote>
<p>&#x6211;&#x4EEC;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stemming.html" target="_blank"><em>&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;</em></a> &#x548C; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stopwords.html" target="_blank"><em>&#x505C;&#x7528;&#x8BCD;: &#x6027;&#x80FD;&#x4E0E;&#x7CBE;&#x5EA6;</em></a> &#x4E2D;&#x5206;&#x522B;&#x8BE6;&#x7EC6;&#x8BA8;&#x8BBA;&#x4E86;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x548C;&#x505C;&#x7528;&#x8BCD;&#x3002;</p>
<h3 id="&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;"><a name="&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;" class="anchor-navigation-ex-anchor" href="#&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;</h3>
<p>&#x5982;&#x679C;&#x4F60;&#x53EA;&#x9700;&#x8981;&#x5904;&#x7406;&#x4E00;&#x79CD;&#x8BED;&#x8A00;&#xFF0C;&#x90A3;&#x4E48;&#x4F60;&#x5F88;&#x5E78;&#x8FD0;&#x3002;&#x627E;&#x5230;&#x4E00;&#x4E2A;&#x6B63;&#x786E;&#x7684;&#x7B56;&#x7565;&#x7528;&#x4E8E;&#x5904;&#x7406;&#x591A;&#x8BED;&#x8A00;&#x6587;&#x6863;&#x662F;&#x4E00;&#x9879;&#x5DE8;&#x5927;&#x7684;&#x6311;&#x6218;&#x3002;</p>
<p><strong>&#x5728;&#x7D22;&#x5F15;&#x7684;&#x65F6;&#x5019;</strong></p>
<p>&#x591A;&#x8BED;&#x8A00;&#x6587;&#x6863;&#x4E3B;&#x8981;&#x6709;&#x4EE5;&#x4E0B;&#x4E09;&#x4E2A;&#x7C7B;&#x578B;&#xFF1A;</p>
<ul>
<li>&#x4E00;&#x79CD;&#x662F;&#x6BCF;&#x4EFD; <em>document</em> &#xFF08;&#x6587;&#x6863;&#xFF09;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x4E3B;&#x8BED;&#x8A00;&#xFF0C;&#x5E76;&#x5305;&#x542B;&#x4E00;&#x4E9B;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#x7247;&#x6BB5;&#xFF08;&#x53C2;&#x8003; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/one-lang-docs.html" target="_blank">&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</a>&#x3002;&#xFF09;</li>
<li>&#x4E00;&#x79CD;&#x662F;&#x6BCF;&#x4E2A; <em>field</em> &#xFF08;&#x57DF;&#xFF09;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x4E3B;&#x8BED;&#x8A00;, &#x5E76;&#x5305;&#x542B;&#x4E00;&#x4E9B;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#x7247;&#x6BB5;&#xFF08;&#x53C2;&#x8003; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/one-lang-fields.html" target="_blank">&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</a>&#x3002;&#xFF09;</li>
<li>&#x4E00;&#x79CD;&#x662F;&#x6BCF;&#x4E2A; <em>field</em> &#xFF08;&#x57DF;&#xFF09;&#x90FD;&#x662F;&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#xFF08;&#x53C2;&#x8003; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/mixed-lang-fields.html" target="_blank">&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;</a>&#x3002;&#xFF09;</li>
</ul>
<p>&#xFF08;&#x5206;&#x8BCD;&#xFF09;&#x76EE;&#x6807;&#x4E0D;&#x603B;&#x662F;&#x53EF;&#x4EE5;&#x5B9E;&#x73B0;&#xFF0C;&#x6211;&#x4EEC;&#x5E94;&#x5F53;&#x4FDD;&#x6301;&#x5C06;&#x4E0D;&#x540C;&#x8BED;&#x8A00;&#x5206;&#x9694;&#x5F00;&#x3002;&#x5728;&#x540C;&#x4E00;&#x4EFD;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x5185;&#x6DF7;&#x5408;&#x591A;&#x79CD;&#x8BED;&#x8A00;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x4E00;&#x4E9B;&#x95EE;&#x9898;&#x3002;</p>
<p><strong>&#x4E0D;&#x5408;&#x7406;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</strong></p>
<p>&#x5FB7;&#x8BED;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x89C4;&#x5219;&#x8DDF;&#x82F1;&#x8BED;&#xFF0C;&#x6CD5;&#x8BED;&#xFF0C;&#x745E;&#x5178;&#x8BED;&#x7B49;&#x662F;&#x4E0D;&#x4E00;&#x6837;&#x7684;&#x3002; &#x4E3A;&#x4E0D;&#x540C;&#x7684;&#x8BED;&#x8A00;&#x63D0;&#x4F9B;&#x540C;&#x6837;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x89C4;&#x5219; &#x5C06;&#x4F1A;&#x5BFC;&#x81F4;&#x6709;&#x7684;&#x8BCD;&#x7684;&#x8BCD;&#x6839;&#x627E;&#x7684;&#x6B63;&#x786E;&#xFF0C;&#x6709;&#x7684;&#x8BCD;&#x7684;&#x8BCD;&#x6839;&#x627E;&#x7684;&#x4E0D;&#x6B63;&#x786E;&#xFF0C;&#x6709;&#x7684;&#x8BCD;&#x6839;&#x672C;&#x627E;&#x4E0D;&#x5230;&#x8BCD;&#x6839;&#x3002; &#x751A;&#x81F3;&#x662F;&#x5C06;&#x4E0D;&#x540C;&#x8BED;&#x8A00;&#x7684;&#x4E0D;&#x540C;&#x542B;&#x4E49;&#x7684;&#x8BCD;&#x5207;&#x4E3A;&#x540C;&#x4E00;&#x4E2A;&#x8BCD;&#x6839;&#xFF0C;&#x5408;&#x5E76;&#x8FD9;&#x4E9B;&#x8BCD;&#x6839;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x4F1A;&#x7ED9;&#x7528;&#x6237;&#x5E26;&#x6765;&#x56F0;&#x607C;&#x3002;</p>
<p>&#x63D0;&#x4F9B;&#x591A;&#x79CD;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x8F6E;&#x6D41;&#x5207;&#x5206;&#x540C;&#x4E00;&#x4EFD;&#x6587;&#x6863;&#x7684;&#x7ED3;&#x679C;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x5F97;&#x5230;&#x4E00;&#x5806;&#x5783;&#x573E;&#xFF0C;&#x56E0;&#x4E3A;&#x4E0B;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4F1A;&#x5C1D;&#x8BD5;&#x5207;&#x5206;&#x4E00;&#x4E2A;&#x5DF2;&#x7ECF;&#x88AB;&#x7F29;&#x51CF;&#x4E3A;&#x8BCD;&#x5E72;&#x7684;&#x5355;&#x8BCD;&#xFF0C;&#x8FD9;&#x52A0;&#x5267;&#x4E86;&#x4E0A;&#x9762;&#x63D0;&#x5230;&#x7684;&#x95EE;&#x9898;&#x3002;</p>
<hr>
<blockquote>
<p> <strong>&#x6BCF;&#x79CD;&#x4E66;&#x5199;&#x65B9;&#x5F0F;&#x4E00;&#x79CD;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</strong></p>
<p> &#x53EA;&#x6709;&#x4E00;&#x79CD;&#x60C5;&#x51B5;, <em>only-one-stemmer</em> &#xFF08;&#x552F;&#x4E00;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF09;&#x4F1A;&#x53D1;&#x751F;&#xFF0C;&#x5C31;&#x662F;&#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x90FD;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x4E66;&#x5199;&#x65B9;&#x5F0F;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x5728;&#x4EE5;&#x8272;&#x5217;&#x5C31;&#x6709;&#x5F88;&#x5927;&#x7684;&#x53EF;&#x80FD;&#x4E00;&#x4E2A;&#x6587;&#x6863;&#x5305;&#x542B;&#x5E0C;&#x4F2F;&#x6765;&#x8BED;&#xFF0C; &#x963F;&#x62C9;&#x4F2F;&#x8BED;&#xFF0C;&#x4FC4;&#x8BED;&#xFF08;&#x53E4;&#x4EE3;&#x65AF;&#x62C9;&#x592B;&#x8BED;&#xFF09;&#xFF0C;&#x548C;&#x82F1;&#x8BED;&#x3002;</p>
<pre><code>&#x5D0;&#x5D6;&#x5D4;&#x5E8;&#x5D4; - &#x41F;&#x440;&#x435;&#x434;&#x443;&#x43F;&#x440;&#x435;&#x436;&#x434;&#x435;&#x43D;&#x438;&#x435; - &#x62A;&#x62D;&#x630;&#x64A;&#x631; - Warning
</code></pre><p> &#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x4E66;&#x5199;&#x65B9;&#x5F0F;&#xFF0C;&#x6240;&#x4EE5;&#x4E00;&#x79CD;&#x8BED;&#x8A00;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5C31;&#x4E0D;&#x4F1A;&#x5E72;&#x6270;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#xFF0C;&#x5141;&#x8BB8;&#x4E3A;&#x540C;&#x4E00;&gt;  &#x4EFD;&#x6587;&#x672C;&#x63D0;&#x4F9B;&#x591A;&#x79CD;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002;</p>
<hr>
</blockquote>
<p><strong>&#x4E0D;&#x6B63;&#x786E;&#x7684;&#x5012;&#x6392;&#x6587;&#x6863;&#x9891;&#x7387;</strong></p>
<p>&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/relevance-intro.html" target="_blank">&#x4EC0;&#x4E48;&#x662F;&#x76F8;&#x5173;&#x6027;?</a> &#xFF08;&#x76F8;&#x5173;&#x6027;&#x6559;&#x7A0B;&#xFF09;&#x4E2D;&#xFF0C;&#x4E00;&#x4E2A; term &#xFF08;&#x8BCD;&#xFF09;&#x5728;&#x4E00;&#x4EFD;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x7387;&#x8D8A;&#x9AD8;&#xFF0C;&#x8BE5;term&#xFF08;&#x8BCD;&#xFF09;&#x7684;&#x6743;&#x91CD;&#x5C31;&#x8D8A;&#x4F4E;&#x3002; &#x4E3A;&#x4E86;&#x7CBE;&#x786E;&#x7684;&#x8BA1;&#x7B97;&#x76F8;&#x5173;&#x6027;&#xFF0C;&#x4F60;&#x9700;&#x8981;&#x7CBE;&#x786E;&#x7684;&#x7EDF;&#x8BA1; term-frequency &#xFF08;&#x8BCD;&#x9891;&#xFF09;&#x3002;</p>
<p>&#x4E00;&#x6BB5;&#x5FB7;&#x6587;&#x51FA;&#x73B0;&#x5728;&#x82F1;&#x8BED;&#x4E3A;&#x4E3B;&#x7684;&#x6587;&#x672C;&#x4E2D;&#x4F1A;&#x7ED9;&#x4E0E;&#x5FB7;&#x8BED;&#x5355;&#x8BCD;&#x66F4;&#x9AD8;&#x7684;&#x6743;&#x91CD;&#xFF0C;&#x7ED9;&#x90A3;&#x4E48;&#x9AD8;&#x6743;&#x91CD;&#x662F;&#x56E0;&#x4E3A;&#x5FB7;&#x8BED;&#x5355;&#x8BCD;&#x76F8;&#x5BF9;&#x6765;&#x8BF4;&#x66F4;&#x7A00;&#x6709;&#x3002; &#x4F46;&#x662F;&#x5982;&#x679C;&#x8FD9;&#x4EFD;&#x6587;&#x6863;&#x8DDF;&#x4EE5;&#x5FB7;&#x8BED;&#x4E3A;&#x4E3B;&#x7684;&#x6587;&#x6863;&#x6DF7;&#x5408;&#x5728;&#x4E00;&#x8D77;&#xFF0C;&#x90A3;&#x4E48;&#x8FD9;&#x6BB5;&#x5FB7;&#x6587;&#x5C31;&#x4F1A;&#x6709;&#x5F88;&#x4F4E;&#x7684;&#x6743;&#x91CD;&#x3002;</p>
<p><strong>&#x5728;&#x641C;&#x7D22;&#x7684;&#x65F6;&#x5019;</strong></p>
<p>&#x7136;&#x800C;&#x4EC5;&#x4EC5;&#x8003;&#x8651;&#x4F60;&#x7684;&#x6587;&#x6863;&#x662F;&#x4E0D;&#x591F;&#x7684; &#x3002;&#x4F60;&#x4E5F;&#x9700;&#x8981;&#x8003;&#x8651;&#x4F60;&#x7684;&#x7528;&#x6237;&#x4F1A;&#x600E;&#x4E48;&#x641C;&#x7D22;&#x8FD9;&#x4E9B;&#x6587;&#x6863;&#x3002; &#x901A;&#x5E38;&#x4F60;&#x80FD;&#x4ECE;&#x7528;&#x6237;&#x9009;&#x62E9;&#x7684;&#x8BED;&#x8A00;&#x754C;&#x9762;&#x6765;&#x786E;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x4E3B;&#x8BED;&#x8A00;&#xFF0C;&#xFF08;&#x4F8B;&#x5982;&#xFF0C; <code>mysite.de</code> &#x548C; <code>mysite.fr</code> &#xFF09; &#x6216;&#x8005;&#x4ECE;&#x7528;&#x6237;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#x7684;HTTP header&#xFF08;HTTP&#x5934;&#x6587;&#x4EF6;&#xFF09; <a href="http://www.w3.org/International/questions/qa-lang-priorities.en.php" target="_blank"><code>accept-language</code></a> &#x786E;&#x5B9A;&#x3002;</p>
<p>&#x7528;&#x6237;&#x7684;&#x641C;&#x7D22;&#x4E5F;&#x6CE8;&#x610F;&#x6709;&#x4E09;&#x4E2A;&#x65B9;&#x9762;:</p>
<ul>
<li>&#x7528;&#x6237;&#x4F7F;&#x7528;&#x4ED6;&#x7684;&#x4E3B;&#x8BED;&#x8A00;&#x641C;&#x7D22;&#x3002;</li>
<li>&#x7528;&#x6237;&#x4F7F;&#x7528;&#x5176;&#x4ED6;&#x7684;&#x8BED;&#x8A00;&#x641C;&#x7D22;&#xFF0C;&#x4F46;&#x5E0C;&#x671B;&#x83B7;&#x53D6;&#x4E3B;&#x8BED;&#x8A00;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x3002;</li>
<li>&#x7528;&#x6237;&#x4F7F;&#x7528;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x641C;&#x7D22;&#xFF0C;&#x5E76;&#x5E0C;&#x671B;&#x83B7;&#x53D6;&#x8BE5;&#x8BED;&#x8A00;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x3002;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x7CBE;&#x901A;&#x53CC;&#x8BED;&#x7684;&#x4EBA;&#xFF0C;&#x6216;&#x8005;&#x7F51;&#x7EDC;&#x5496;&#x5561;&#x9986;&#x7684;&#x5916;&#x56FD;&#x8BBF;&#x95EE;&#x8005;&#xFF09;&#x3002;</li>
</ul>
<p>&#x6839;&#x636E;&#x4F60;&#x641C;&#x7D22;&#x6570;&#x636E;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x6216;&#x8BB8;&#x4F1A;&#x8FD4;&#x56DE;&#x5355;&#x8BED;&#x8A00;&#x7684;&#x5408;&#x9002;&#x7ED3;&#x679C;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x4E00;&#x4E2A;&#x7528;&#x6237;&#x5728;&#x897F;&#x73ED;&#x7259;&#x7F51;&#x7AD9;&#x641C;&#x7D22;&#x5546;&#x54C1;&#xFF09;&#xFF0C;&#x4E5F;&#x53EF;&#x80FD;&#x662F;&#x7528;&#x6237;&#x4E3B;&#x8BED;&#x8A00;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x548C;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x6DF7;&#x5408;&#x3002;</p>
<p>&#x901A;&#x5E38;&#x6765;&#x8BF4;&#xFF0C;&#x7ED9;&#x4E0E;&#x7528;&#x6237;&#x8BED;&#x8A00;&#x504F;&#x597D;&#x7684;&#x641C;&#x7D22;&#x5F88;&#x6709;&#x610F;&#x4E49;&#x3002;&#x4E00;&#x4E2A;&#x4F7F;&#x7528;&#x82F1;&#x8BED;&#x7684;&#x7528;&#x6237;&#x641C;&#x7D22;&#x65F6;&#x66F4;&#x5E0C;&#x671B;&#x770B;&#x5230;&#x82F1;&#x8BED; Wikipedia &#x9875;&#x9762;&#x800C;&#x4E0D;&#x662F;&#x6CD5;&#x8BED; Wikipedia &#x9875;&#x9762;&#x3002;</p>
<p><strong>&#x8BED;&#x8A00;&#x8BC6;&#x522B;</strong></p>
<p>&#x4F60;&#x5F88;&#x53EF;&#x80FD;&#x5DF2;&#x7ECF;&#x77E5;&#x9053;&#x4F60;&#x7684;&#x6587;&#x6863;&#x6240;&#x9009;&#x7528;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x6216;&#x8005;&#x4F60;&#x7684;&#x6587;&#x6863;&#x53EA;&#x662F;&#x5728;&#x4F60;&#x81EA;&#x5DF1;&#x7684;&#x7EC4;&#x7EC7;&#x5185;&#x7F16;&#x5199;&#x5E76;&#x88AB;&#x7FFB;&#x8BD1;&#x6210;&#x786E;&#x5B9A;&#x7684;&#x4E00;&#x7CFB;&#x5217;&#x8BED;&#x8A00;&#x3002;&#x4EBA;&#x7C7B;&#x7684;&#x9884;&#x8BC6;&#x522B;&#x53EF;&#x80FD;&#x662F;&#x6700;&#x53EF;&#x9760;&#x7684;&#x5C06;&#x8BED;&#x8A00;&#x6B63;&#x786E;&#x5F52;&#x7C7B;&#x7684;&#x65B9;&#x6CD5;&#x3002;</p>
<p>&#x7136;&#x800C;&#xFF0C;&#x6216;&#x8BB8;&#x4F60;&#x7684;&#x6587;&#x6863;&#x6765;&#x81EA;&#x7B2C;&#x4E09;&#x65B9;&#x8D44;&#x6E90;&#x4E14;&#x6CA1;&#x7ECF;&#x8FC7;&#x8BED;&#x8A00;&#x5F52;&#x7C7B;&#xFF0C;&#x6216;&#x8005;&#x662F;&#x4E0D;&#x6B63;&#x786E;&#x7684;&#x5F52;&#x7C7B;&#x3002;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x4F60;&#x9700;&#x8981;&#x4E00;&#x4E2A;&#x5B66;&#x4E60;&#x7B97;&#x6CD5;&#x6765;&#x5F52;&#x7C7B;&#x4F60;&#x6587;&#x6863;&#x7684;&#x4E3B;&#x8BED;&#x8A00;&#x3002;&#x5E78;&#x8FD0;&#x7684;&#x662F;&#xFF0C;&#x4E00;&#x4E9B;&#x8BED;&#x8A00;&#x6709;&#x73B0;&#x6210;&#x7684;&#x5DE5;&#x5177;&#x5305;&#x53EF;&#x4EE5;&#x5E2E;&#x4F60;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x3002;</p>
<p>&#x8BE6;&#x7EC6;&#x5185;&#x5BB9;&#x662F;&#x6765;&#x81EA; <a href="http://blog.mikemccandless.com/2013/08/a-new-version-of-compact-language.html" target="_blank">Mike McCandless</a> &#x7684; <a href="https://github.com/mikemccand/chromium-compact-language-detector" target="_blank">chromium-compact-language-detector</a> &#x5DE5;&#x5177;&#x5305;&#xFF0C;&#x4F7F;&#x7528;&#x7684;&#x662F;google&#x5F00;&#x53D1;&#x7684;&#x57FA;&#x4E8E; (<a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License 2.0</a>)&#x7684;&#x5F00;&#x6E90;&#x5DE5;&#x5177;&#x5305; <a href="https://code.google.com/p/cld2/" target="_blank">Compact Language Detector</a> (CLD) &#x3002; &#x5B83;&#x5C0F;&#x5DE7;&#xFF0C;&#x5FEB;&#x901F;&#xFF0C;&#x4E14;&#x7CBE;&#x786E;&#xFF0C;&#x5E76;&#x80FD;&#x6839;&#x636E;&#x77ED;&#x77ED;&#x7684;&#x4E24;&#x53E5;&#x8BDD;&#x5C31;&#x53EF;&#x4EE5;&#x68C0;&#x6D4B; 160+ &#x7684;&#x8BED;&#x8A00;&#x3002; &#x5B83;&#x751A;&#x81F3;&#x80FD;&#x5BF9;&#x5355;&#x5757;&#x6587;&#x672C;&#x68C0;&#x6D4B;&#x591A;&#x79CD;&#x8BED;&#x8A00;&#x3002;&#x652F;&#x6301;&#x591A;&#x79CD;&#x5F00;&#x53D1;&#x8BED;&#x8A00;&#x5305;&#x62EC; Python&#xFF0C;Perl&#xFF0C;JavaScript&#xFF0C;PHP&#xFF0C;C#/.NET&#xFF0C;&#x548C; R &#x3002;</p>
<p>&#x786E;&#x5B9A;&#x7528;&#x6237;&#x641C;&#x7D22;&#x8BF7;&#x6C42;&#x7684;&#x8BED;&#x8A00;&#x5E76;&#x4E0D;&#x662F;&#x90A3;&#x4E48;&#x7B80;&#x5355;&#x3002; CLD &#x662F;&#x4E3A;&#x4E86;&#x81F3;&#x5C11; 200 &#x5B57;&#x7B26;&#x957F;&#x7684;&#x6587;&#x672C;&#x8BBE;&#x8BA1;&#x7684;&#x3002;&#x5B57;&#x7B26;&#x77ED;&#x7684;&#x6587;&#x672C;&#xFF0C;&#x4F8B;&#x5982;&#x641C;&#x7D22;&#x5173;&#x952E;&#x5B57;&#xFF0C;&#x4F1A;&#x4EA7;&#x751F;&#x4E0D;&#x7CBE;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x3002; &#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6216;&#x8BB8;&#x91C7;&#x53D6;&#x4E00;&#x4E9B;&#x7B80;&#x5355;&#x7684;&#x542F;&#x53D1;&#x5F0F;&#x7B97;&#x6CD5;&#x4F1A;&#x66F4;&#x597D;&#x4E9B;&#xFF0C;&#x4F8B;&#x5982;&#x8BE5;&#x56FD;&#x5BB6;&#x7684;&#x5B98;&#x65B9;&#x8BED;&#x8A00;&#xFF0C;&#x7528;&#x6237;&#x9009;&#x62E9;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x548C; HTTP <code>accept-language</code> headers &#xFF08;HTTP&#x5934;&#x6587;&#x4EF6;&#xFF09;&#x3002;</p>
<h3 id="&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;"><a name="&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;" class="anchor-navigation-ex-anchor" href="#&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6BCF;&#x4EFD;&#x6587;&#x6863;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</h3>
<p>&#x6BCF;&#x4E2A;&#x4E3B;&#x8BED;&#x8A00;&#x6587;&#x6863; &#x53EA;&#x9700;&#x8981;&#x76F8;&#x5F53;&#x7B80;&#x5355;&#x7684;&#x8BBE;&#x7F6E;&#x3002; &#x4E0D;&#x540C;&#x8BED;&#x8A00;&#x7684;&#x6587;&#x6863;&#x88AB;&#x5206;&#x522B;&#x5B58;&#x653E;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x7D22;&#x5F15;&#x4E2D; &#x2014; <code>blogs-en</code> &#x3001;<code>blogs-fr</code> &#xFF0C; &#x5982;&#x6B64;&#x7B49;&#x7B49; &#x2014; &#x8FD9;&#x6837;&#x6BCF;&#x4E2A;&#x7D22;&#x5F15;&#x5C31;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x76F8;&#x540C;&#x7684;&#x7C7B;&#x578B;&#x548C;&#x76F8;&#x540C;&#x7684;&#x57DF;&#xFF0C;&#x53EA;&#x662F;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x5206;&#x6790;&#x5668;&#xFF1A;</p>
<pre><code class="lang-js">PUT /blogs-en
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;post&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;title&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,               &lt;1&gt;
          &quot;fields&quot;: {
            &quot;stemmed&quot;: {
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;english&quot;       &lt;2&gt;
            }
}}}}}}

PUT /blogs-fr
{
  &quot;mappings&quot;: {
    &quot;post&quot;: {
      &quot;properties&quot;: {
        &quot;title&quot;: {
          &quot;type&quot;: &quot;string&quot;,              &lt;3&gt;
          &quot;fields&quot;: {
            &quot;stemmed&quot;: {
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;french&quot;       &lt;4&gt;
            }
}}}}}}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <img src="assets/3.png" alt="img">   &#x7D22;&#x5F15; <code>blogs-en</code> &#x548C; <code>blogs-fr</code> &#x7684; <code>post</code> &#x7C7B;&#x578B;&#x90FD;&#x6709;&#x4E00;&#x4E2A;&#x5305;&#x542B; <code>title</code> &#x57DF;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <img src="assets/4.png" alt="img">   <code>title.stemmed</code> &#x5B50;&#x57DF;&#x4F7F;&#x7528;&#x4E86;&#x5177;&#x4F53;&#x8BED;&#x8A00;&#x7684;&#x5206;&#x6790;&#x5668;&#x3002;  </p>
</blockquote>
<p>&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x5E72;&#x51C0;&#x4E14;&#x7075;&#x6D3B;&#x3002;&#x65B0;&#x8BED;&#x8A00;&#x5F88;&#x5BB9;&#x6613;&#x88AB;&#x6DFB;&#x52A0;&#x2009;&#x2014;&#x2009;&#x4EC5;&#x4EC5;&#x662F;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7D22;&#x5F15;--&#x56E0;&#x4E3A;&#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x90FD;&#x662F;&#x5F7B;&#x5E95;&#x7684;&#x88AB;&#x5206;&#x5F00;&#xFF0C; &#x6211;&#x4EEC;&#x4E0D;&#x7528;&#x906D;&#x53D7;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/language-pitfalls.html" target="_blank">&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x9677;&#x9631;</a> &#x4E2D;&#x63CF;&#x8FF0;&#x7684;&#x8BCD;&#x9891;&#x548C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7684;&#x95EE;&#x9898;&#x3002;</p>
<p>&#x6BCF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;&#x7684;&#x6587;&#x6863;&#x90FD;&#x53EF;&#x88AB;&#x72EC;&#x7ACB;&#x67E5;&#x8BE2;&#xFF0C;&#x6216;&#x8005;&#x901A;&#x8FC7;&#x67E5;&#x8BE2;&#x591A;&#x79CD;&#x7D22;&#x5F15;&#x6765;&#x67E5;&#x8BE2;&#x591A;&#x79CD;&#x8BED;&#x8A00;&#x3002; &#x6211;&#x4EEC;&#x751A;&#x81F3;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>indices_boost</code> &#x53C2;&#x6570;&#x4E3A;&#x7279;&#x5B9A;&#x7684;&#x8BED;&#x8A00;&#x6DFB;&#x52A0;&#x4F18;&#x5148;&#x6743; &#xFF1A;</p>
<pre><code class="lang-js">GET /blogs-*<span class="hljs-regexp">/post/</span>_search                                 &lt;<span class="hljs-number">1</span>&gt;
{
    <span class="hljs-string">&quot;query&quot;</span>: {
        <span class="hljs-string">&quot;multi_match&quot;</span>: {
            <span class="hljs-string">&quot;query&quot;</span>:   <span class="hljs-string">&quot;deja vu&quot;</span>,
            <span class="hljs-string">&quot;fields&quot;</span>:  [ <span class="hljs-string">&quot;title&quot;</span>, <span class="hljs-string">&quot;title.stemmed&quot;</span> ]       &lt;<span class="hljs-number">2</span>&gt;
            <span class="hljs-string">&quot;type&quot;</span>:    <span class="hljs-string">&quot;most_fields&quot;</span>
        }
    }, 
    <span class="hljs-string">&quot;indices_boost&quot;</span>: {                                    <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">3</span>&gt;</span>
        &quot;blogs-en&quot;: 3,
        &quot;blogs-fr&quot;: 2
    }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD9;&#x4E2A;&#x67E5;&#x8BE2;&#x4F1A;&#x5728;&#x6240;&#x6709;&#x4EE5; <code>blogs-</code> &#x5F00;&#x5934;&#x7684;&#x7D22;&#x5F15;&#x4E2D;&#x6267;&#x884C;&#x3002;       </p>
<p> <img src="assets/2.png" alt="img">  <code>title.stemmed</code> &#x5B57;&#x6BB5;&#x4F7F;&#x7528;&#x6BCF;&#x4E2A;&#x7D22;&#x5F15;&#x4E2D;&#x6307;&#x5B9A;&#x7684;&#x5206;&#x6790;&#x5668;&#x67E5;&#x8BE2;&#x3002;      </p>
<p> <img src="assets/3.png" alt="img">  &#x4E5F;&#x8BB8;&#x7528;&#x6237;&#x63A5;&#x53D7;&#x8BED;&#x8A00;&#x6807;&#x5934;&#x8868;&#x660E;&#xFF0C;&#x66F4;&#x503E;&#x5411;&#x4E8E;&#x82F1;&#x8BED;&#xFF0C;&#x7136;&#x540E;&#x662F;&#x6CD5;&#x8BED;&#xFF0C;&#x6240;&#x4EE5;&#x76F8;&#x5E94;&#x7684;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x4E3A;&#x6BCF;&#x4E2A;&#x7D22;&#x5F15;&#x7684;&#x7ED3;&#x679C;&#x6DFB;&#x52A0;&#x6743;&#x91CD;&#x3002;&#x4EFB;&#x4F55;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x4F1A;&#x6709;&#x4E00;&#x4E2A;&#x4E2D;&#x6027;&#x7684;&#x6743;&#x91CD; 1 &#x3002;  </p>
</blockquote>
<p><strong>&#x5916;&#x8BED;&#x5355;&#x8BCD;</strong></p>
<p>&#x5F53;&#x7136;&#xFF0C;&#x6709;&#x4E9B;&#x6587;&#x6863;&#x542B;&#x6709;&#x4E00;&#x4E9B;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#x5355;&#x8BCD;&#x6216;&#x53E5;&#x5B50;&#xFF0C;&#x4E14;&#x4E0D;&#x5E78;&#x7684;&#x662F;&#x8FD9;&#x4E9B;&#x5355;&#x8BCD;&#x88AB;&#x5207;&#x4E3A;&#x4E86;&#x6B63;&#x786E;&#x7684;&#x8BCD;&#x6839;&#x3002;&#x5BF9;&#x4E8E;&#x4E3B;&#x8BED;&#x8A00;&#x6587;&#x6863;&#xFF0C;&#x8FD9;&#x901A;&#x5E38;&#x5E76;&#x4E0D;&#x662F;&#x4E3B;&#x8981;&#x7684;&#x95EE;&#x9898;&#x3002;&#x7528;&#x6237;&#x7ECF;&#x5E38;&#x9700;&#x8981;&#x641C;&#x7D22;&#x5F88;&#x7CBE;&#x786E;&#x7684;&#x5355;&#x8BCD;--&#x4F8B;&#x5982;&#xFF0C;&#x4E00;&#x4E2A;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#x5F15;&#x7528;--&#x800C;&#x4E0D;&#x662F;&#x8BED;&#x578B;&#x53D8;&#x5316;&#x8FC7;&#x7684;&#x5355;&#x8BCD;&#x3002;&#x53EC;&#x56DE;&#x7387; (Recall)&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/token-normalization.html" target="_blank"><em>&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;</em></a> &#x4E2D;&#x8BB2;&#x89E3;&#x7684;&#x6280;&#x672F;&#x63D0;&#x5347;&#x3002;</p>
<p>&#x5047;&#x8BBE;&#x6709;&#x4E9B;&#x5355;&#x8BCD;&#x4F8B;&#x5982;&#x5730;&#x540D;&#x5E94;&#x5F53;&#x80FD;&#x88AB;&#x4E3B;&#x8BED;&#x8A00;&#x548C;&#x539F;&#x59CB;&#x8BED;&#x8A00;&#x90FD;&#x80FD;&#x68C0;&#x7D22;&#xFF0C;&#x4F8B;&#x5982; <em>Munich</em> &#x548C; <em>M&#xFC;nchen</em> &#x3002; &#x8FD9;&#x4E9B;&#x5355;&#x8BCD;&#x5B9E;&#x9645;&#x4E0A;&#x662F;&#x6211;&#x4EEC;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/synonyms.html" target="_blank"><em>&#x540C;&#x4E49;&#x8BCD;</em></a> &#x89E3;&#x91CA;&#x8FC7;&#x7684;&#x540C;&#x4E49;&#x8BCD;&#x3002;</p>
<hr>
<blockquote>
<p> <strong>&#x4E0D;&#x8981;&#x5BF9;&#x8BED;&#x8A00;&#x4F7F;&#x7528;&#x7C7B;&#x578B;</strong></p>
<p> &#x4F60;&#x4E5F;&#x8BB8;&#x5F88;&#x503E;&#x5411;&#x4E8E;&#x4E3A;&#x6BCF;&#x4E2A;&#x8BED;&#x8A00;&#x4F7F;&#x7528;&#x5206;&#x5F00;&#x7684;&#x7C7B;&#x578B;&#xFF0C; &#x6765;&#x4EE3;&#x66FF;&#x4F7F;&#x7528;&#x5206;&#x5F00;&#x7684;&#x7D22;&#x5F15;&#x3002; &#x4E3A;&#x4E86;&#x8FBE;&#x5230;&#x6700;&#x4F73;&#x6548;&#x679C;&#xFF0C;&#x4F60;&#x5E94;&#x5F53;&#x907F;&#x514D;&#x4F7F;&#x7528;&#x7C7B;&#x578B;&#x3002;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/mapping.html" target="_blank">&#x7C7B;&#x578B;&#x548C;&#x6620;&#x5C04;</a> &#x89E3;&#x91CA;&#x8FC7;&#xFF0C;&#x4E0D;&#x540C;&#x7C7B;&#x578B;&#x4F46;&#x6709;&#x76F8;&#x540C;&#x57DF;&#x540D;&#x7684;&#x57DF;&#x4F1A;&#x88AB;&#x7D22;&#x5F15;&#x5728; <em>&#x76F8;&#x540C;&#x7684;&#x5012;&#x6392;&#x7D22;&#x5F15;</em> &#x4E2D;&#x3002;&#x8FD9;&#x610F;&#x5473;&#x7740;&#x4E0D;&#x540C;&#x7C7B;&#x578B;&#xFF08;&#x548C;&#x4E0D;&#x540C;&#x8BED;&#x8A00;&#xFF09;&#x7684;&#x8BCD;&#x9891;&#x6DF7;&#x5408;&#x5728;&#x4E86;&#x4E00;&#x8D77;&#x3002;</p>
<p> &#x4E3A;&#x4E86;&#x786E;&#x4FDD;&#x4E00;&#x79CD;&#x8BED;&#x8A00;&#x7684;&#x8BCD;&#x9891;&#x4E0D;&#x4F1A;&#x6C61;&#x67D3;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x7684;&#x8BCD;&#x9891;&#xFF0C;&#x5728;&#x540E;&#x9762;&#x7684;&#x7AE0;&#x8282;&#x4E2D;&#x4F1A;&#x4ECB;&#x7ECD;&#x5230;&#xFF0C;&#x65E0;&#x8BBA;&#x662F;&#x4E3A;&#x6BCF;&#x4E2A;&#x8BED;&#x8A00;&#x4F7F;&#x7528;&#x5355;&#x72EC;&#x7684;&#x7D22;&#x5F15;&#xFF0C;&#x8FD8;&#x662F;&#x4F7F;&#x7528;&#x5355;&#x72EC;&#x7684;&#x57DF;&#x90FD;&#x53EF;&#x4EE5;&#x3002;</p>
<hr>
</blockquote>
<h3 id="&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;"><a name="&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;" class="anchor-navigation-ex-anchor" href="#&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</h3>
<p>&#x5BF9;&#x4E8E;&#x4E00;&#x4E9B;&#x5B9E;&#x4F53;&#x7C7B;&#xFF0C;&#x4F8B;&#x5982;:&#x4EA7;&#x54C1;&#x3001;&#x7535;&#x5F71;&#x3001;&#x6CD5;&#x5F8B;&#x58F0;&#x660E;&#xFF0C; &#x901A;&#x5E38;&#x8FD9;&#x6837;&#x7684;&#x4E00;&#x4EFD;&#x6587;&#x672C;&#x4F1A;&#x88AB;&#x7FFB;&#x8BD1;&#x6210;&#x4E0D;&#x540C;&#x8BED;&#x8A00;&#x7684;&#x6587;&#x6863;&#x3002;&#x867D;&#x7136;&#x8FD9;&#x4E9B;&#x4E0D;&#x540C;&#x8BED;&#x8A00;&#x7684;&#x6587;&#x6863;&#x53EF;&#x4EE5;&#x5355;&#x72EC;&#x4FDD;&#x5B58;&#x5728;&#x5404;&#x81EA;&#x7684;&#x7D22;&#x5F15;&#x4E2D;&#x3002;&#x4F46;&#x53E6;&#x4E00;&#x79CD;&#x66F4;&#x5408;&#x7406;&#x7684;&#x65B9;&#x5F0F;&#x662F;&#x540C;&#x4E00;&#x4EFD;&#x6587;&#x672C;&#x7684;&#x6240;&#x6709;&#x7FFB;&#x8BD1;&#x7EDF;&#x4E00;&#x4FDD;&#x5B58;&#x5728;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x4E2D;&#x3002;&#x3002;</p>
<pre><code class="lang-js">{
   <span class="hljs-string">&quot;title&quot;</span>:     <span class="hljs-string">&quot;Fight club&quot;</span>,
   <span class="hljs-string">&quot;title_br&quot;</span>:  <span class="hljs-string">&quot;Clube de Luta&quot;</span>,
   <span class="hljs-string">&quot;title_cz&quot;</span>:  <span class="hljs-string">&quot;Klub rv&#xE1;&#x10D;&#x16F;&quot;</span>,
   <span class="hljs-string">&quot;title_en&quot;</span>:  <span class="hljs-string">&quot;Fight club&quot;</span>,
   <span class="hljs-string">&quot;title_es&quot;</span>:  <span class="hljs-string">&quot;El club de la lucha&quot;</span>,
   ...
}
</code></pre>
<p>&#x6BCF;&#x4EFD;&#x7FFB;&#x8BD1;&#x5B58;&#x50A8;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x57DF;&#x4E2D;&#xFF0C;&#x6839;&#x636E;&#x57DF;&#x7684;&#x8BED;&#x8A00;&#x51B3;&#x5B9A;&#x4F7F;&#x7528;&#x76F8;&#x5E94;&#x7684;&#x5206;&#x6790;&#x5668;&#xFF1A;</p>
<pre><code class="lang-js">PUT /movies
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;movie&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;title&quot;</span>: {                   &lt;1&gt;
          &quot;type&quot;:       &quot;string&quot;
        },
        &quot;title_br&quot;: {                &lt;2&gt;
            &quot;type&quot;:     &quot;string&quot;,
            &quot;analyzer&quot;: &quot;brazilian&quot;
        },
        &quot;title_cz&quot;: {                &lt;3&gt;
            &quot;type&quot;:     &quot;string&quot;,
            &quot;analyzer&quot;: &quot;czech&quot;
        },
        &quot;title_en&quot;: {                &lt;4&gt;
            &quot;type&quot;:     &quot;string&quot;,
            &quot;analyzer&quot;: &quot;english&quot;
        },
        &quot;title_es&quot;: {                &lt;5&gt;
            &quot;type&quot;:     &quot;string&quot;,
            &quot;analyzer&quot;: &quot;spanish&quot;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>title</code> &#x57DF;&#x542B;&#x6709;title&#x7684;&#x539F;&#x6587;&#xFF0C;&#x5E76;&#x4F7F;&#x7528; <code>standard</code> &#xFF08;&#x6807;&#x51C6;&#xFF09;&#x5206;&#x6790;&#x5668;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <img src="assets/3.png" alt="img">  <img src="assets/4.png" alt="img">  <img src="assets/5.png" alt="img">   &#x5176;&#x4ED6;&#x5B57;&#x6BB5;&#x4F7F;&#x7528;&#x9002;&#x5408;&#x81EA;&#x5DF1;&#x8BED;&#x8A00;&#x7684;&#x5206;&#x6790;&#x5668;&#x3002;  </p>
</blockquote>
<p>&#x5728;&#x7EF4;&#x6301;&#x5E72;&#x51C0;&#x7684;&#x8BCD;&#x9891;&#x65B9;&#x9762;&#xFF0C;&#x867D;&#x7136; <em>index-per-language</em> &#xFF08;&#x4E00;&#x79CD;&#x8BED;&#x8A00;&#x4E00;&#x4EFD;&#x7D22;&#x5F15;&#x7684;&#x65B9;&#x6CD5;&#xFF09;&#xFF0C;&#x4E0D;&#x50CF; <em>field-per-language</em> &#xFF08;&#x4E00;&#x79CD;&#x8BED;&#x8A00;&#x4E00;&#x4E2A;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#xFF09;&#x5206;&#x5F00;&#x7D22;&#x5F15;&#x90A3;&#x4E48;&#x7075;&#x6D3B;&#x3002;&#x4F46;&#x662F;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/mapping-intro.html#updating-a-mapping" target="_blank"><code>update-mapping</code> API</a> &#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x65B0;&#x57DF;&#x4E5F;&#x5F88;&#x7B80;&#x5355;&#xFF0C;&#x90A3;&#x4E9B;&#x65B0;&#x57DF;&#x9700;&#x8981;&#x65B0;&#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x8FD9;&#x4E9B;&#x65B0;&#x5206;&#x6790;&#x5668;&#x53EA;&#x80FD;&#x5728;&#x7D22;&#x5F15;&#x521B;&#x5EFA;&#x65F6;&#x88AB;&#x88C5;&#x914D;&#x3002;&#x6709;&#x4E00;&#x4E2A;&#x53D8;&#x901A;&#x7684;&#x65B9;&#x6848;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x5148;&#x5173;&#x95ED;&#x8FD9;&#x4E2A;&#x7D22;&#x5F15; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/indices-open-close.html" target="_blank">close</a> &#xFF0C;&#x7136;&#x540E;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/indices-update-settings.html" target="_blank"><code>update-settings</code> API</a> &#xFF0C;&#x91CD;&#x65B0;&#x6253;&#x5F00;&#x8FD9;&#x4E2A;&#x7D22;&#x5F15;&#xFF0C;&#x4F46;&#x662F;&#x5173;&#x6389;&#x8FD9;&#x4E2A;&#x7D22;&#x5F15;&#x610F;&#x5473;&#x7740;&#x5F97;&#x505C;&#x6B62;&#x670D;&#x52A1;&#x4E00;&#x6BB5;&#x65F6;&#x95F4;&#x3002;</p>
<p>&#x6587;&#x6863;&#x7684; &#x4E00;&#x79CD;&#x8BED;&#x8A00;&#x53EF;&#x4EE5;&#x5355;&#x72EC;&#x67E5;&#x8BE2;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x67E5;&#x8BE2;&#x591A;&#x4E2A;&#x57DF;&#x6765;&#x67E5;&#x8BE2;&#x591A;&#x79CD;&#x8BED;&#x8A00;&#x3002;&#x6211;&#x4EEC;&#x751A;&#x81F3;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5BF9;&#x7279;&#x5B9A;&#x8BED;&#x8A00;&#x8BBE;&#x7F6E;&#x504F;&#x597D;&#x6765;&#x63D0;&#x9AD8;&#x5B57;&#x6BB5;&#x4F18;&#x5148;&#x7EA7;&#xFF1A;</p>
<pre><code class="lang-js">GET /movies/movie/_search
{
    <span class="hljs-string">&quot;query&quot;</span>: {
        <span class="hljs-string">&quot;multi_match&quot;</span>: {
            <span class="hljs-string">&quot;query&quot;</span>:    <span class="hljs-string">&quot;club de la lucha&quot;</span>,
            <span class="hljs-string">&quot;fields&quot;</span>: [ <span class="hljs-string">&quot;title*&quot;</span>, <span class="hljs-string">&quot;title_es^2&quot;</span> ],    <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
            &quot;type&quot;:     &quot;most_fields&quot;
        }
    }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD9;&#x4E2A;&#x641C;&#x7D22;&#x67E5;&#x8BE2;&#x6240;&#x6709;&#x4EE5; <code>title</code> &#x4E3A;&#x524D;&#x7F00;&#x7684;&#x57DF;&#xFF0C;&#x4F46;&#x662F;&#x5BF9; <code>title_es</code> &#x57DF;&#x52A0;&#x6743;&#x91CD; <code>2</code> &#x3002;&#x5176;&#x4ED6;&#x7684;&#x6240;&#x6709;&#x57DF;&#x662F;&#x4E2D;&#x6027;&#x6743;&#x91CD; <code>1</code> &#x3002;   </p>
</blockquote>
<h3 id="&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;"><a name="&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;" class="anchor-navigation-ex-anchor" href="#&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x57DF;</h3>
<p>&#x901A;&#x5E38;,&#x90A3;&#x4E9B;&#x4ECE;&#x6E90;&#x6570;&#x636E;&#x4E2D;&#x83B7;&#x5F97;&#x7684;&#x591A;&#x79CD;&#x8BED;&#x8A00;&#x6DF7;&#x5408;&#x5728;&#x4E00;&#x4E2A;&#x57DF;&#x4E2D;&#x7684;&#x6587;&#x6863;&#x4F1A;&#x8D85;&#x51FA;&#x4F60;&#x7684;&#x63A7;&#x5236;&#xFF0C; &#x4F8B;&#x5982; &#x4ECE;&#x7F51;&#x4E0A;&#x722C;&#x53D6;&#x7684;&#x9875;&#x9762;&#xFF1A;</p>
<pre><code class="lang-js">{ <span class="hljs-string">&quot;body&quot;</span>: <span class="hljs-string">&quot;Page not found / Seite nicht gefunden / Page non trouv&#xE9;e&quot;</span> }
</code></pre>
<p>&#x6B63;&#x786E;&#x7684;&#x5904;&#x7406;&#x591A;&#x8BED;&#x8A00;&#x7C7B;&#x578B;&#x6587;&#x6863;&#x662F;&#x975E;&#x5E38;&#x56F0;&#x96BE;&#x7684;&#x3002;&#x5373;&#x4F7F;&#x4F60;&#x7B80;&#x5355;&#x5BF9;&#x6240;&#x6709;&#x7684;&#x57DF;&#x4F7F;&#x7528; <code>standard</code> &#xFF08;&#x6807;&#x51C6;&#xFF09;&#x5206;&#x6790;&#x5668;&#xFF0C; &#x4F46;&#x4F60;&#x7684;&#x6587;&#x6863;&#x4F1A;&#x53D8;&#x5F97;&#x4E0D;&#x5229;&#x4E8E;&#x641C;&#x7D22;&#xFF0C;&#x9664;&#x975E;&#x4F60;&#x4F7F;&#x7528;&#x4E86;&#x5408;&#x9002;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002;&#x5F53;&#x7136;&#xFF0C;&#x4F60;&#x4E0D;&#x53EF;&#x80FD;&#x53EA;&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002; &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x662F;&#x7531;&#x8BED;&#x8A00;&#x5177;&#x4F53;&#x51B3;&#x5B9A;&#x7684;&#x3002;&#x6216;&#x8005;&#xFF0C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x662F;&#x7531;&#x8BED;&#x8A00;&#x548C;&#x811A;&#x672C;&#x6240;&#x5177;&#x4F53;&#x51B3;&#x5B9A;&#x7684;&#x3002;&#x50CF;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/language-pitfalls.html#different-scripts" target="_blank">&#x6BCF;&#x79CD;&#x4E66;&#x5199;&#x65B9;&#x5F0F;&#x4E00;&#x79CD;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</a> &#x8BA8;&#x8BBA;&#x4E2D;&#x90A3;&#x6837;&#x3002; &#x5982;&#x679C;&#x6BCF;&#x4E2A;&#x8BED;&#x8A00;&#x90FD;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x811A;&#x672C;&#xFF0C;&#x90A3;&#x4E48;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5C31;&#x53EF;&#x4EE5;&#x5408;&#x5E76;&#x4E86;&#x3002;</p>
<p>&#x5047;&#x8BBE;&#x4F60;&#x7684;&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x4F7F;&#x7528;&#x7684;&#x662F;&#x4E00;&#x6837;&#x7684;&#x811A;&#x672C;&#xFF0C;&#x4F8B;&#x5982;&#x62C9;&#x4E01;&#x6587;&#xFF0C;&#x4F60;&#x6709;&#x4E09;&#x4E2A;&#x53EF;&#x7528;&#x7684;&#x9009;&#x62E9;&#xFF1A;</p>
<ul>
<li>&#x5207;&#x5206;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x57DF;</li>
<li>&#x8FDB;&#x884C;&#x591A;&#x6B21;&#x5206;&#x6790;</li>
<li>&#x4F7F;&#x7528; n-grams</li>
</ul>
<p><strong>&#x5207;&#x5206;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x57DF;</strong></p>
<p>&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/language-pitfalls.html#identifying-language" target="_blank">&#x8BED;&#x8A00;&#x8BC6;&#x522B;</a> &#x63D0;&#x5230;&#x8FC7;&#x7684;&#x7D27;&#x51D1;&#x7684;&#x8BED;&#x8A00;&#x68C0;&#x6D4B; &#x53EF;&#x4EE5;&#x544A;&#x8BC9;&#x4F60;&#x54EA;&#x90E8;&#x5206;&#x6587;&#x6863;&#x5C5E;&#x4E8E;&#x54EA;&#x79CD;&#x8BED;&#x8A00;&#x3002; &#x4F60;&#x53EF;&#x4EE5;&#x7528; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/one-lang-fields.html" target="_blank">&#x6BCF;&#x4E2A;&#x57DF;&#x4E00;&#x79CD;&#x8BED;&#x8A00;</a> &#x4E2D;&#x7528;&#x8FC7;&#x7684;&#x4E00;&#x6837;&#x7684;&#x65B9;&#x6CD5;&#x6765;&#x6839;&#x636E;&#x8BED;&#x8A00;&#x5207;&#x5206;&#x6587;&#x672C;&#x3002;</p>
<p><strong>&#x8FDB;&#x884C;&#x591A;&#x6B21;&#x5206;&#x6790;</strong></p>
<p>&#x5982;&#x679C;&#x4F60;&#x4E3B;&#x8981;&#x5904;&#x7406;&#x6570;&#x91CF;&#x6709;&#x9650;&#x7684;&#x8BED;&#x8A00;&#xFF0C; &#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x591A;&#x4E2A;&#x57DF;&#xFF0C;&#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x90FD;&#x5206;&#x6790;&#x6587;&#x672C;&#x4E00;&#x6B21;&#x3002;</p>
<pre><code class="lang-js">PUT /movies
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;title&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;title&quot;</span>: {                       &lt;1&gt;
          &quot;type&quot;: &quot;string&quot;,
          &quot;fields&quot;: {
            &quot;de&quot;: {                      &lt;2&gt;
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;german&quot;
            },
            &quot;en&quot;: {                      &lt;3&gt;
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;english&quot;
            },
            &quot;fr&quot;: {                      &lt;4&gt;
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;french&quot;
            },
            &quot;es&quot;: {                      &lt;5&gt;
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;spanish&quot;
            }
          }
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x4E3B;&#x57DF; <code>title</code> &#x4F7F;&#x7528; <code>standard</code> &#xFF08;&#x6807;&#x51C6;&#xFF09;&#x5206;&#x6790;&#x5668;     </p>
<p> <img src="assets/2.png" alt="img">  <img src="assets/3.png" alt="img">  <img src="assets/4.png" alt="img">  <img src="assets/5.png" alt="img">  &#x6BCF;&#x4E2A;&#x5B50;&#x57DF;&#x63D0;&#x4F9B;&#x4E0D;&#x540C;&#x7684;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#x6765;&#x5BF9; <code>title</code> &#x57DF;&#x6587;&#x672C;&#x8FDB;&#x884C;&#x5206;&#x6790;&#x3002;   </p>
</blockquote>
<p><strong>&#x4F7F;&#x7528; n-grams</strong></p>
<p>&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/ngrams-compound-words.html" target="_blank">Ngrams &#x5728;&#x590D;&#x5408;&#x8BCD;&#x7684;&#x5E94;&#x7528;</a> &#x4E2D;&#x63CF;&#x8FF0;&#x7684; &#x65B9;&#x6CD5;&#x7D22;&#x5F15;&#x6240;&#x6709;&#x7684;&#x8BCD;&#x6C47;&#x4E3A; n-grams&#x3002; &#x5927;&#x591A;&#x6570;&#x8BED;&#x578B;&#x53D8;&#x5316;&#x5305;&#x542B;&#x7ED9;&#x5355;&#x8BCD;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x540E;&#x7F00;&#xFF08;&#x6216;&#x5728;&#x4E00;&#x4E9B;&#x8BED;&#x8A00;&#x4E2D;&#x6DFB;&#x52A0;&#x524D;&#x7F00;&#xFF09;&#xFF0C;&#x6240;&#x4EE5;&#x901A;&#x8FC7;&#x5C06;&#x5355;&#x8BCD;&#x62C6;&#x6210; n-grams&#xFF0C;&#x4F60;&#x6709;&#x5F88;&#x5927;&#x7684;&#x673A;&#x4F1A;&#x5339;&#x914D;&#x5230;&#x76F8;&#x4F3C;&#x4F46;&#x4E0D;&#x5B8C;&#x5168;&#x4E00;&#x6837;&#x7684;&#x5355;&#x8BCD;&#x3002; &#x8FD9;&#x4E2A;&#x53EF;&#x4EE5;&#x7ED3;&#x5408; <em>analyze-multiple times</em> &#xFF08;&#x591A;&#x6B21;&#x5206;&#x6790;&#xFF09;&#x65B9;&#x6CD5;&#x4E3A;&#x4E0D;&#x652F;&#x6301;&#x7684;&#x8BED;&#x8A00;&#x63D0;&#x4F9B;&#x5168;&#x57DF;&#x6293;&#x53D6;&#xFF1A;</p>
<pre><code class="lang-js">PUT /movies
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {...}                           &lt;<span class="hljs-number">1</span>&gt;
  },
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;title&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;title&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;fields&quot;</span>: {
            <span class="hljs-string">&quot;de&quot;</span>: {
              <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
              <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;german&quot;</span>
            },
            <span class="hljs-string">&quot;en&quot;</span>: {
              <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
              <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;english&quot;</span>
            },
            <span class="hljs-string">&quot;fr&quot;</span>: {
              <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
              <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;french&quot;</span>
            },
            <span class="hljs-string">&quot;es&quot;</span>: {
              <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
              <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;spanish&quot;</span>
            },
            <span class="hljs-string">&quot;general&quot;</span>: {                       <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">2</span>&gt;</span>
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;trigrams&quot;
            }
          }
        }
      }
    }
  }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5728; <code>analysis</code> &#x7AE0;&#x8282;, &#x6211;&#x4EEC;&#x6309;&#x7167; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/ngrams-compound-words.html" target="_blank">Ngrams &#x5728;&#x590D;&#x5408;&#x8BCD;&#x7684;&#x5E94;&#x7528;</a> &#x4E2D;&#x63CF;&#x8FF0;&#x7684;&#x5B9A;&#x4E49;&#x4E86;&#x540C;&#x6837;&#x7684; <code>trigrams</code> &#x5206;&#x6790;&#x5668;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x5728; <code>title.general</code> &#x57DF;&#x4F7F;&#x7528; <code>trigrams</code> &#x5206;&#x6790;&#x5668;&#x7D22;&#x5F15;&#x6240;&#x6709;&#x7684;&#x8BED;&#x8A00;&#x3002;   </p>
</blockquote>
<p>&#x5F53;&#x67E5;&#x8BE2;&#x6293;&#x53D6;&#x6240;&#x6709; <code>general</code> &#x57DF;&#x65F6;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>minimum_should_match</code> &#xFF08;&#x6700;&#x5C11;&#x5E94;&#x5F53;&#x5339;&#x914D;&#x6570;&#xFF09;&#x6765;&#x51CF;&#x5C11;&#x4F4E;&#x8D28;&#x91CF;&#x7684;&#x5339;&#x914D;&#x3002; &#x6216;&#x8BB8;&#x4E5F;&#x9700;&#x8981;&#x5BF9;&#x5176;&#x4ED6;&#x5B57;&#x6BB5;&#x8FDB;&#x884C;&#x7A0D;&#x5FAE;&#x7684;&#x52A0;&#x6743;&#xFF0C;&#x7ED9;&#x4E0E;&#x4E3B;&#x8BED;&#x8A00;&#x57DF;&#x7684;&#x6743;&#x91CD;&#x8981;&#x9AD8;&#x4E8E;&#x5176;&#x4ED6;&#x7684;&#x5728; <code>general</code> &#x4E0A;&#x7684;&#x57DF;&#xFF1A;</p>
<pre><code class="lang-js">GET /movies/movie/_search
{
    <span class="hljs-string">&quot;query&quot;</span>: {
        <span class="hljs-string">&quot;multi_match&quot;</span>: {
            <span class="hljs-string">&quot;query&quot;</span>:    <span class="hljs-string">&quot;club de la lucha&quot;</span>,
            <span class="hljs-string">&quot;fields&quot;</span>: [ <span class="hljs-string">&quot;title*^1.5&quot;</span>, <span class="hljs-string">&quot;title.general&quot;</span> ],        &lt;1&gt;
            &quot;type&quot;:     &quot;most_fields&quot;,
            &quot;minimum_should_match&quot;: &quot;75%&quot;                       &lt;2&gt;
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6240;&#x6709; <code>title</code> &#x6216; <code>title.*</code> &#x57DF;&#x7ED9;&#x4E0E;&#x4E86;&#x6BD4; <code>title.general</code> &#x57DF;&#x7A0D;&#x5FAE;&#x9AD8;&#x7684;&#x52A0;&#x6743;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <code>minimum_should_match</code>&#xFF08;&#x6700;&#x5C11;&#x5E94;&#x5F53;&#x5339;&#x914D;&#x6570;&#xFF09; &#x53C2;&#x6570;&#x51CF;&#x5C11;&#x4E86;&#x4F4E;&#x8D28;&#x91CF;&#x5339;&#x914D;&#x7684;&#x8FD4;&#x56DE;&#x6570;, &#x8FD9;&#x5BF9; <code>title.general</code> &#x57DF;&#x5C24;&#x5176;&#x91CD;&#x8981;&#x3002;   </p>
</blockquote>
<h2 id="&#x8BCD;&#x6C47;&#x8BC6;&#x522B;"><a name="&#x8BCD;&#x6C47;&#x8BC6;&#x522B;" class="anchor-navigation-ex-anchor" href="#&#x8BCD;&#x6C47;&#x8BC6;&#x522B;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x8BCD;&#x6C47;&#x8BC6;&#x522B;</h2>
<p>&#x82F1;&#x8BED;&#x5355;&#x8BCD;&#x76F8;&#x5BF9;&#x800C;&#x8A00;&#x6BD4;&#x8F83;&#x5BB9;&#x6613;&#x8FA8;&#x8BA4;&#xFF1A;&#x5355;&#x8BCD;&#x4E4B;&#x95F4;&#x90FD;&#x662F;&#x4EE5;&#x7A7A;&#x683C;&#x6216;&#x8005;&#xFF08;&#x4E00;&#x4E9B;&#xFF09;&#x6807;&#x70B9;&#x9694;&#x5F00;&#x3002; &#x7136;&#x800C;&#x5373;&#x4F7F;&#x5728;&#x82F1;&#x8BED;&#x8BCD;&#x6C47;&#x4E2D;&#x4E5F;&#x4F1A;&#x6709;&#x4E00;&#x4E9B;&#x4E89;&#x8BAE;&#xFF1A; <em>you&#x2019;re</em> &#x662F;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#x8FD8;&#x662F;&#x4E24;&#x4E2A;&#xFF1F; <em>o&#x2019;clock</em> &#xFF0C; <em>cooperate</em> &#xFF0C; <em>half-baked</em> &#xFF0C;&#x6216;&#x8005; <em>eyewitness</em> &#x8FD9;&#x4E9B;&#x5462;&#xFF1F;</p>
<p>&#x5FB7;&#x8BED;&#x6216;&#x8005;&#x8377;&#x5170;&#x8BED;&#x628A;&#x72EC;&#x7ACB;&#x7684;&#x5355;&#x8BCD;&#x5408;&#x5E76;&#x8D77;&#x6765;&#x521B;&#x9020;&#x4E00;&#x4E2A;&#x957F;&#x7684;&#x5408;&#x6210;&#x8BCD;&#x5982; <em>Wei&#xDF;kopfseeadler</em> (white-headed sea eagle) , &#x4F46;&#x662F;&#x4E3A;&#x4E86;&#x5728;&#x67E5;&#x8BE2; <code>Adler</code> (eagle)&#x7684;&#x65F6;&#x5019;&#x8FD4;&#x56DE;&#x67E5;&#x8BE2; <code>Wei&#xDF;kopfseeadler</code> &#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x61C2;&#x5F97;&#x600E;&#x4E48;&#x5C06;&#x5408;&#x5E76;&#x8BCD;&#x62C6;&#x6210;&#x8BCD;&#x7EC4;&#x3002;</p>
<p>&#x4E9A;&#x6D32;&#x7684;&#x8BED;&#x8A00;&#x66F4;&#x590D;&#x6742;&#xFF1A;&#x5F88;&#x591A;&#x8BED;&#x8A00;&#x5728;&#x5355;&#x8BCD;&#xFF0C;&#x53E5;&#x5B50;&#xFF0C;&#x751A;&#x81F3;&#x6BB5;&#x843D;&#x4E4B;&#x95F4;&#x6CA1;&#x6709;&#x7A7A;&#x683C;&#x3002; &#x6709;&#x4E9B;&#x8BCD;&#x53EF;&#x4EE5;&#x7528;&#x4E00;&#x4E2A;&#x5B57;&#x6765;&#x8868;&#x8FBE;&#xFF0C;&#x4F46;&#x662F;&#x540C;&#x6837;&#x7684;&#x5B57;&#x5728;&#x53E6;&#x4E00;&#x4E2A;&#x5B57;&#x65C1;&#x8FB9;&#x7684;&#x65F6;&#x5019;&#x5C31;&#x662F;&#x4E0D;&#x540C;&#x610F;&#x601D;&#x7684;&#x957F;&#x8BCD;&#x7684;&#x4E00;&#x90E8;&#x5206;&#x3002;</p>
<p>&#x663E;&#x800C;&#x6613;&#x89C1;&#x7684;&#x662F;&#x6CA1;&#x6709;&#x80FD;&#x591F;&#x5947;&#x8FF9;&#x822C;&#x5904;&#x7406;&#x6240;&#x6709;&#x4EBA;&#x7C7B;&#x8BED;&#x8A00;&#x7684;&#x4E07;&#x80FD;&#x5206;&#x6790;&#x5668;&#xFF0C;Elasticsearch &#x4E3A;&#x5F88;&#x591A;&#x8BED;&#x8A00;&#x63D0;&#x4F9B;&#x4E86;&#x4E13;&#x7528;&#x7684;&#x5206;&#x6790;&#x5668;&#xFF0C; &#x5176;&#x4ED6;&#x7279;&#x6B8A;&#x8BED;&#x8A00;&#x7684;&#x5206;&#x6790;&#x5668;&#x4EE5;&#x63D2;&#x4EF6;&#x7684;&#x5F62;&#x5F0F;&#x63D0;&#x4F9B;&#x3002;</p>
<p>&#x7136;&#x800C;&#x5E76;&#x4E0D;&#x662F;&#x6240;&#x6709;&#x8BED;&#x8A00;&#x90FD;&#x6709;&#x4E13;&#x7528;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x800C;&#x4E14;&#x6709;&#x65F6;&#x5019;&#x4F60;&#x751A;&#x81F3;&#x65E0;&#x6CD5;&#x786E;&#x5B9A;&#x5904;&#x7406;&#x7684;&#x662F;&#x4EC0;&#x4E48;&#x8BED;&#x8A00;&#x3002;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E00;&#x4E9B;&#x5FFD;&#x7565;&#x8BED;&#x8A00;&#x4E5F;&#x80FD;&#x5408;&#x7406;&#x5DE5;&#x4F5C;&#x7684;&#x6807;&#x51C6;&#x5DE5;&#x5177;&#x5305;&#x3002;</p>
<h3 id="&#x6807;&#x51C6;&#x5206;&#x6790;&#x5668;"><a name="&#x6807;&#x51C6;&#x5206;&#x6790;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x6807;&#x51C6;&#x5206;&#x6790;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6807;&#x51C6;&#x5206;&#x6790;&#x5668;</h3>
<p>&#x4EFB;&#x4F55;&#x5168;&#x6587;&#x68C0;&#x7D22;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x57DF;&#x90FD;&#x9ED8;&#x8BA4;&#x4F7F;&#x7528; <code>standard</code> &#x5206;&#x6790;&#x5668;&#x3002; &#x5982;&#x679C;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x4E00;&#x4E2A; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/custom-analyzers.html" target="_blank"><code>&#x81EA;&#x5B9A;&#x4E49;</code> &#x5206;&#x6790;&#x5668;</a> &#xFF0C;&#x53EF;&#x4EE5;&#x6309;&#x7167;&#x5982;&#x4E0B;&#x5B9A;&#x4E49;&#x65B9;&#x5F0F;&#x91CD;&#x65B0;&#x5B9E;&#x73B0; <code>&#x6807;&#x51C6;</code> &#x5206;&#x6790;&#x5668;&#xFF1A;</p>
<pre><code class="lang-js">{
    <span class="hljs-string">&quot;type&quot;</span>:      <span class="hljs-string">&quot;custom&quot;</span>,
    <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;standard&quot;</span>,
    <span class="hljs-string">&quot;filter&quot;</span>:  [ <span class="hljs-string">&quot;lowercase&quot;</span>, <span class="hljs-string">&quot;stop&quot;</span> ]
}
</code></pre>
<p>&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/token-normalization.html" target="_blank"><em>&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;</em></a> &#xFF08;&#x6807;&#x51C6;&#x5316;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF09;&#x548C; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stopwords.html" target="_blank"><em>&#x505C;&#x7528;&#x8BCD;: &#x6027;&#x80FD;&#x4E0E;&#x7CBE;&#x5EA6;</em></a> &#xFF08;&#x505C;&#x7528;&#x8BCD;&#xFF09;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x8BA8;&#x8BBA;&#x4E86; <code>lowercase</code> &#xFF08;&#x5C0F;&#x5199;&#x5B57;&#x6BCD;&#xFF09;&#x548C; <code>stop</code> &#xFF08;&#x505C;&#x7528;&#x8BCD;&#xFF09; <em>&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;</em> &#xFF0C;&#x4F46;&#x662F;&#x73B0;&#x5728;&#xFF0C;&#x6211;&#x4EEC;&#x4E13;&#x6CE8;&#x4E8E; <code>standard</code> <em>tokenizer</em> &#xFF08;&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;&#xFF09;&#x3002;</p>
<h3 id="&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;"><a name="&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</h3>
<p><em>&#x5206;&#x8BCD;&#x5668;</em> &#x63A5;&#x53D7;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#xFF0C;&#x5C06; &#x8FD9;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#x62C6;&#x5206;&#x6210;&#x72EC;&#x7ACB;&#x7684;&#x8BCD;&#x6216; <em>&#x8BED;&#x6C47;&#x5355;&#x5143;&#xFF08;token&#xFF09;</em> &#xFF08;&#x53EF;&#x80FD;&#x4F1A;&#x4E22;&#x5F03;&#x4E00;&#x4E9B;&#x6807;&#x70B9;&#x7B26;&#x53F7;&#x7B49;&#x5B57;&#x7B26;&#xFF09;&#xFF0C;&#x7136;&#x540E;&#x8F93;&#x51FA;&#x4E00;&#x4E2A; <em>&#x8BED;&#x6C47;&#x5355;&#x5143;&#x6D41;&#xFF08;token stream&#xFF09;</em> &#x3002;</p>
<p>&#x6709;&#x8DA3;&#x7684;&#x662F;&#x7528;&#x4E8E;&#x8BCD;&#x6C47; <em>&#x8BC6;&#x522B;</em> &#x7684;&#x7B97;&#x6CD5;&#x3002; <code>whitespace</code> &#xFF08;&#x7A7A;&#x767D;&#x5B57;&#x7B26;&#xFF09;&#x5206;&#x8BCD;&#x5668;&#x6309;&#x7A7A;&#x767D;&#x5B57;&#x7B26; &#x2014;&#x2014; &#x7A7A;&#x683C;&#x3001;tabs&#x3001;&#x6362;&#x884C;&#x7B26;&#x7B49;&#x7B49;&#x8FDB;&#x884C;&#x7B80;&#x5355;&#x62C6;&#x5206; &#x2014;&#x2014; &#x7136;&#x540E;&#x5047;&#x5B9A;&#x8FDE;&#x7EED;&#x7684;&#x975E;&#x7A7A;&#x683C;&#x5B57;&#x7B26;&#x7EC4;&#x6210;&#x4E86;&#x4E00;&#x4E2A;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x3002;&#x4F8B;&#x5982;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=whitespace
You&apos;re the 1st runner home!
</code></pre>
<p>&#x8FD9;&#x4E2A;&#x8BF7;&#x6C42;&#x4F1A;&#x8FD4;&#x56DE;&#x5982;&#x4E0B;&#x8BCD;&#x9879;&#xFF08;terms&#xFF09;&#xFF1A; <code>You&apos;re</code> &#x3001; <code>the</code> &#x3001; <code>1st</code> &#x3001; <code>runner</code> &#x3001; <code>home!</code></p>
<p><code>letter</code> &#x5206;&#x8BCD;&#x5668; &#xFF0C;&#x91C7;&#x7528;&#x53E6;&#x5916;&#x4E00;&#x79CD;&#x7B56;&#x7565;&#xFF0C;&#x6309;&#x7167;&#x4EFB;&#x4F55;&#x975E;&#x5B57;&#x7B26;&#x8FDB;&#x884C;&#x62C6;&#x5206;&#xFF0C; &#x8FD9;&#x6837;&#x5C06;&#x4F1A;&#x8FD4;&#x56DE;&#x5982;&#x4E0B;&#x5355;&#x8BCD;&#xFF1A; <code>You</code> &#x3001; <code>re</code> &#x3001; <code>the</code> &#x3001; <code>st</code> &#x3001; <code>runner</code> &#x3001; <code>home</code> &#x3002;</p>
<p><code>standard</code> &#x5206;&#x8BCD;&#x5668;&#x4F7F;&#x7528; Unicode &#x6587;&#x672C;&#x5206;&#x5272;&#x7B97;&#x6CD5; &#xFF08;&#x5B9A;&#x4E49;&#x6765;&#x6E90;&#x4E8E; <a href="http://unicode.org/reports/tr29/" target="_blank">Unicode Standard Annex #29</a>&#xFF09;&#x6765;&#x5BFB;&#x627E;&#x5355;&#x8BCD; <em>&#x4E4B;&#x95F4;</em> &#x7684;&#x754C;&#x9650;&#xFF0C;&#x5E76;&#x4E14;&#x8F93;&#x51FA;&#x6240;&#x6709;&#x754C;&#x9650;&#x4E4B;&#x95F4;&#x7684;&#x5185;&#x5BB9;&#x3002; Unicode &#x5185;&#x542B;&#x7684;&#x77E5;&#x8BC6;&#x4F7F;&#x5176;&#x53EF;&#x4EE5;&#x6210;&#x529F;&#x7684;&#x5BF9;&#x5305;&#x542B;&#x6DF7;&#x5408;&#x8BED;&#x8A00;&#x7684;&#x6587;&#x672C;&#x8FDB;&#x884C;&#x5206;&#x8BCD;&#x3002;</p>
<p>&#x6807;&#x70B9;&#x7B26;&#x53F7; &#x53EF;&#x80FD;&#x662F;&#x5355;&#x8BCD;&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C;&#x4E5F;&#x53EF;&#x80FD;&#x4E0D;&#x662F;&#xFF0C;&#x8FD9;&#x53D6;&#x51B3;&#x4E8E;&#x5B83;&#x51FA;&#x73B0;&#x7684;&#x4F4D;&#x7F6E;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=standard
You&apos;re my &apos;favorite&apos;.
</code></pre>
<p>&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;<code>You&apos;re</code> &#x4E2D;&#x7684;&#x6487;&#x53F7;&#x88AB;&#x89C6;&#x4E3A;&#x5355;&#x8BCD;&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C;&#x7136;&#x800C; <code>&apos;favorite&apos;</code> &#x4E2D;&#x7684;&#x5355;&#x5F15;&#x53F7;&#x5219;&#x4E0D;&#x4F1A;&#x88AB;&#x89C6;&#x4E3A;&#x5355;&#x8BCD;&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C; &#x6240;&#x4EE5;&#x5206;&#x8BCD;&#x7ED3;&#x679C;&#x5982;&#x4E0B;&#xFF1A; <code>You&apos;re</code> &#x3001; <code>my</code> &#x3001; <code>favorite</code> &#x3002;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  <code>uax_url_email</code> &#x5206;&#x8BCD;&#x5668;&#x548C; <code>standard</code> &#x5206;&#x8BCD;&#x5668;&#x5DE5;&#x4F5C;&#x65B9;&#x5F0F;&#x6781;&#x5176;&#x76F8;&#x540C;&#x3002; &#x533A;&#x522B;&#x53EA;&#x5728;&#x4E8E;&#x5B83;&#x80FD;&#x8BC6;&#x522B; email &#x5730;&#x5740;&#x548C; URLs &#x5E76;&#x8F93;&#x51FA;&#x4E3A;&#x5355;&#x4E2A;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x3002; <code>standard</code> &#x5206;&#x8BCD;&#x5668;&#x5219;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x4F1A;&#x5C06; email &#x5730;&#x5740;&#x548C; URLs &#x62C6;&#x5206;&#x6210;&#x72EC;&#x7ACB;&#x7684;&#x5355;&#x8BCD;&#x3002; &#x4F8B;&#x5982;&#xFF0C;email &#x5730;&#x5740; <code>joe-bloggs@foo-bar.com</code> &#x7684;&#x5206;&#x8BCD;&#x7ED3;&#x679C;&#x4E3A; <code>joe</code> &#x3001; <code>bloggs</code> &#x3001; <code>foo</code> &#x3001; <code>bar.com</code> &#x3002;  </p>
</blockquote>
<p><code>standard</code> &#x5206;&#x8BCD;&#x5668;&#x662F;&#x5927;&#x591A;&#x6570;&#x8BED;&#x8A00;&#x5206;&#x8BCD;&#x7684;&#x4E00;&#x4E2A;&#x5408;&#x7406;&#x7684;&#x8D77;&#x70B9;&#xFF0C;&#x7279;&#x522B;&#x662F;&#x897F;&#x65B9;&#x8BED;&#x8A00;&#x3002; &#x4E8B;&#x5B9E;&#x4E0A;&#xFF0C;&#x5B83;&#x6784;&#x6210;&#x4E86;&#x5927;&#x591A;&#x6570;&#x7279;&#x5B9A;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#x7684;&#x57FA;&#x7840;&#xFF0C;&#x5982; <code>english</code> &#x3001;<code>french</code> &#x548C; <code>spanish</code> &#x5206;&#x6790;&#x5668;&#x3002; &#x5B83;&#x4E5F;&#x652F;&#x6301;&#x4E9A;&#x6D32;&#x8BED;&#x8A00;&#xFF0C;&#x53EA;&#x662F;&#x6709;&#x4E9B;&#x7F3A;&#x9677;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x8003;&#x8651;&#x901A;&#x8FC7; ICU &#x63D2;&#x4EF6;&#x7684;&#x65B9;&#x5F0F;&#x4F7F;&#x7528; <code>icu_tokenizer</code> &#x8FDB;&#x884C;&#x66FF;&#x6362;&#x3002;</p>
<h3 id="&#x5B89;&#x88C5;ICU&#x63D2;&#x4EF6;"><a name="&#x5B89;&#x88C5;ICU&#x63D2;&#x4EF6;" class="anchor-navigation-ex-anchor" href="#&#x5B89;&#x88C5;ICU&#x63D2;&#x4EF6;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5B89;&#x88C5; ICU &#x63D2;&#x4EF6;  </h3>
<p>Elasticsearch&#x7684; <a href="https://github.com/elasticsearch/elasticsearch-analysis-icu" target="_blank">ICU &#x5206;&#x6790;&#x5668;&#x63D2;&#x4EF6;</a> &#x4F7F;&#x7528; <em>&#x56FD;&#x9645;&#x5316;&#x7EC4;&#x4EF6; Unicode</em> (ICU) &#x51FD;&#x6570;&#x5E93;&#xFF08;&#x8BE6;&#x60C5;&#x67E5;&#x770B; <a href="http://site.icu-project.org/" target="_blank">site.project.org</a> &#xFF09;&#x63D0;&#x4F9B;&#x4E30;&#x5BCC;&#x7684;&#x5904;&#x7406; Unicode &#x5DE5;&#x5177;&#x3002; &#x8FD9;&#x4E9B;&#x5305;&#x542B;&#x5BF9;&#x5904;&#x7406;&#x4E9A;&#x6D32;&#x8BED;&#x8A00;&#x7279;&#x522B;&#x6709;&#x7528;&#x7684; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#xFF0C;&#x8FD8;&#x6709;&#x5927;&#x91CF;&#x5BF9;&#x9664;&#x82F1;&#x8BED;&#x5916;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x8FDB;&#x884C;&#x6B63;&#x786E;&#x5339;&#x914D;&#x548C;&#x6392;&#x5E8F;&#x6240;&#x5FC5;&#x987B;&#x7684;&#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x3002;</p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  ICU &#x63D2;&#x4EF6;&#x662F;&#x5904;&#x7406;&#x82F1;&#x8BED;&#x4E4B;&#x5916;&#x8BED;&#x8A00;&#x7684;&#x5FC5;&#x9700;&#x5DE5;&#x5177;&#xFF0C;&#x975E;&#x5E38;&#x63A8;&#x8350;&#x4F60;&#x5B89;&#x88C5;&#x5E76;&#x4F7F;&#x7528;&#x5B83;&#xFF0C;&#x4E0D;&#x5E78;&#x7684;&#x662F;&#xFF0C;&#x56E0;&#x4E3A;&#x662F;&#x57FA;&#x4E8E;&#x989D;&#x5916;&#x7684; ICU &#x51FD;&#x6570;&#x5E93;&#xFF0C; &#x4E0D;&#x540C;&#x7248;&#x672C;&#x7684;ICU&#x63D2;&#x4EF6;&#x53EF;&#x80FD;&#x5E76;&#x4E0D;&#x517C;&#x5BB9;&#x4E4B;&#x524D;&#x7684;&#x7248;&#x672C;&#xFF0C;&#x5F53;&#x66F4;&#x65B0;&#x63D2;&#x4EF6;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F60;&#x9700;&#x8981;&#x91CD;&#x65B0;&#x7D22;&#x5F15;&#x4F60;&#x7684;&#x6570;&#x636E;&#x3002;  </p>
</blockquote>
<p>&#x5B89;&#x88C5;&#x8FD9;&#x4E2A;&#x63D2;&#x4EF6;&#xFF0C;&#x7B2C;&#x4E00;&#x6B65;&#x5148;&#x5173;&#x6389;&#x4F60;&#x7684;Elasticsearch&#x8282;&#x70B9;&#xFF0C;&#x7136;&#x540E;&#x5728;Elasticsearch&#x7684;&#x4E3B;&#x76EE;&#x5F55;&#x8FD0;&#x884C;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-sh">./bin/plugin -install elasticsearch/elasticsearch-analysis-icu/<span class="hljs-variable">$VERSION</span>
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5F53;&#x524D; <code>$VERSION</code> &#xFF08;&#x7248;&#x672C;&#xFF09;&#x53EF;&#x4EE5;&#x5728;&#x4EE5;&#x4E0B;&#x5730;&#x5740;&#x627E;&#x5230; <em><a href="https://github.com/elasticsearch/elasticsearch-analysis-icu" target="_blank">https://github.com/elasticsearch/elasticsearch-analysis-icu</a></em>.   </p>
</blockquote>
<p>&#x4E00;&#x65E6;&#x5B89;&#x88C5;&#x540E;&#xFF0C;&#x91CD;&#x542F;Elasticsearch&#xFF0C;&#x4F60;&#x5C06;&#x4F1A;&#x770B;&#x5230;&#x7C7B;&#x4F3C;&#x5982;&#x4E0B;&#x7684;&#x4E00;&#x6761;&#x542F;&#x52A8;&#x65E5;&#x5FD7;&#xFF1A;</p>
<pre><code>[INFO][plugins] [Mysterio] loaded [marvel, analysis-icu], sites [marvel]
</code></pre><p>&#x5982;&#x679C;&#x4F60;&#x6709;&#x5F88;&#x591A;&#x8282;&#x70B9;&#x5E76;&#x4EE5;&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#x8FD0;&#x884C;&#x7684;&#xFF0C;&#x4F60;&#x9700;&#x8981;&#x5728;&#x96C6;&#x7FA4;&#x7684;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x90FD;&#x5B89;&#x88C5;&#x8FD9;&#x4E2A;&#x63D2;&#x4EF6;&#x3002;</p>
<h3 id="icu&#x5206;&#x8BCD;&#x5668;"><a name="icu&#x5206;&#x8BCD;&#x5668;" class="anchor-navigation-ex-anchor" href="#icu&#x5206;&#x8BCD;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>icu_&#x5206;&#x8BCD;&#x5668;  </h3>
<p><code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x548C; <code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x4F7F;&#x7528;&#x540C;&#x6837;&#x7684; Unicode &#x6587;&#x672C;&#x5206;&#x6BB5;&#x7B97;&#x6CD5;&#xFF0C; &#x53EA;&#x662F;&#x4E3A;&#x4E86;&#x66F4;&#x597D;&#x7684;&#x652F;&#x6301;&#x4E9A;&#x6D32;&#x8BED;&#xFF0C;&#x6DFB;&#x52A0;&#x4E86;&#x6CF0;&#x8BED;&#x3001;&#x8001;&#x631D;&#x8BED;&#x3001;&#x4E2D;&#x6587;&#x3001;&#x65E5;&#x6587;&#x3001;&#x548C;&#x97E9;&#x6587;&#x57FA;&#x4E8E;&#x8BCD;&#x5178;&#x7684;&#x8BCD;&#x6C47;&#x8BC6;&#x522B;&#x65B9;&#x6CD5;&#xFF0C;&#x5E76;&#x4E14;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x89C4;&#x5219;&#x5C06;&#x7F05;&#x7538;&#x8BED;&#x548C;&#x67EC;&#x57D4;&#x5BE8;&#x8BED;&#x6587;&#x672C;&#x62C6;&#x5206;&#x6210;&#x97F3;&#x8282;&#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF0C;&#x5206;&#x522B;&#x6BD4;&#x8F83; <code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x548C; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x5728;&#x5206;&#x8BCD;&#x6CF0;&#x8BED;&#x4E2D;&#x7684; <code>&apos;Hello. I am from Bangkok.&apos;</code> &#x4EA7;&#x751F;&#x7684;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=standard
&#xE2A;&#xE27;&#xE31;&#xE2A;&#xE14;&#xE35; &#xE1C;&#xE21;&#xE21;&#xE32;&#xE08;&#xE32;&#xE01;&#xE01;&#xE23;&#xE38;&#xE07;&#xE40;&#xE17;&#xE1E;&#xE2F;
</code></pre>
<p><code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x4EA7;&#x751F;&#x4E86;&#x4E24;&#x4E2A;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF0C;&#x6BCF;&#x4E2A;&#x53E5;&#x5B50;&#x4E00;&#x4E2A;&#xFF1A; <code>&#xE2A;&#xE27;&#xE31;&#xE2A;&#xE14;&#xE35;</code> &#xFF0C; <code>&#xE1C;&#xE21;&#xE21;&#xE32;&#xE08;&#xE32;&#xE01;&#xE01;&#xE23;&#xE38;&#xE07;&#xE40;&#xE17;&#xE1E;&#xE2F;</code> &#x3002;&#x8FD9;&#x4E2A;&#x53EA;&#x662F;&#x4F60;&#x60F3;&#x641C;&#x7D22;&#x6574;&#x4E2A;&#x53E5;&#x5B50; <code>&apos;I am from Bangkok.&apos;</code> &#x7684;&#x65F6;&#x5019;&#x6709;&#x7528;&#xFF0C;&#x4F46;&#x662F;&#x5982;&#x679C;&#x4F60;&#x4EC5;&#x60F3;&#x641C;&#x7D22; <code>&apos;Bangkok.&apos;</code> &#x5219;&#x4E0D;&#x884C;&#x3002;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=icu_tokenizer
&#xE2A;&#xE27;&#xE31;&#xE2A;&#xE14;&#xE35; &#xE1C;&#xE21;&#xE21;&#xE32;&#xE08;&#xE32;&#xE01;&#xE01;&#xE23;&#xE38;&#xE07;&#xE40;&#xE17;&#xE1E;&#xE2F;
</code></pre>
<p>&#x76F8;&#x53CD;&#xFF0C; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x53EF;&#x4EE5;&#x628A;&#x6587;&#x672C;&#x5206;&#x6210;&#x72EC;&#x7ACB;&#x7684;&#x5355;&#x8BCD;&#xFF08; <code>&#xE2A;&#xE27;&#xE31;&#xE2A;&#xE14;&#xE35;</code> &#xFF0C; <code>&#xE1C;&#xE21;</code> &#xFF0C; <code>&#xE21;&#xE32;</code> &#xFF0C; <code>&#xE08;&#xE32;&#xE01;</code> &#xFF0C; <code>&#xE01;&#xE23;&#xE38;&#xE07;&#xE40;&#xE17;&#xE1E;&#xE2F;</code> &#xFF09;&#xFF0C;&#x8FD9;&#x4F7F;&#x5F97;&#x6587;&#x6863;&#x66F4;&#x5BB9;&#x6613;&#x88AB;&#x641C;&#x7D22;&#x5230;&#x3002;</p>
<p>&#x76F8;&#x8F83;&#x800C;&#x8A00;, <code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x5206;&#x8BCD;&#x4E2D;&#x6587;&#x548C;&#x65E5;&#x6587;&#x7684;&#x65F6;&#x5019;&#x201C;&#x8FC7;&#x5EA6;&#x5206;&#x8BCD;&#x201D;&#x4E86;&#xFF0C;&#x7ECF;&#x5E38;&#x5C06;&#x4E00;&#x4E2A;&#x5B8C;&#x6574;&#x7684;&#x8BCD;&#x62C6;&#x5206;&#x4E3A;&#x72EC;&#x7ACB;&#x7684;&#x5B57;&#x7B26;&#xFF0C;&#x56E0;&#x4E3A;&#x5355;&#x8BCD;&#x4E4B;&#x95F4;&#x5E76;&#x6CA1;&#x6709;&#x7A7A;&#x683C;&#xFF0C;&#x5F88;&#x96BE;&#x533A;&#x5206;&#x8FDE;&#x7EED;&#x7684;&#x5B57;&#x7B26;&#x662F;&#x95F4;&#x9694;&#x7684;&#x5355;&#x8BCD;&#x8FD8;&#x662F;&#x4E00;&#x4E2A;&#x53E5;&#x5B50;&#x4E2D;&#x7684;&#x5355;&#x5B57;&#xFF1A;</p>
<ul>
<li>&#x5411;&#x7684;&#x610F;&#x601D;&#x662F; <em>facing</em> &#xFF08;&#x9762;&#x5BF9;&#xFF09;&#xFF0C; &#x65E5;&#x7684;&#x610F;&#x601D;&#x662F; <em>sun</em> &#xFF08;&#x592A;&#x9633;&#xFF09;&#xFF0C;&#x8475;&#x7684;&#x610F;&#x601D;&#x662F; <em>hollyhock</em> &#xFF08;&#x8700;&#x8475;&#xFF09;&#x3002;&#x5F53;&#x5199;&#x5728;&#x4E00;&#x8D77;&#x7684;&#x65F6;&#x5019;, &#x5411;&#x65E5;&#x8475;&#x7684;&#x610F;&#x601D;&#x662F; <em>sunflower</em> &#xFF08;&#x5411;&#x65E5;&#x8475;&#xFF09;&#x3002;</li>
<li>&#x4E94;&#x7684;&#x610F;&#x601D;&#x662F; <em>five</em> &#xFF08;&#x4E94;&#xFF09;&#x6216;&#x8005; <em>fifth</em> &#xFF08;&#x7B2C;&#x4E94;&#xFF09;&#xFF0C; &#x6708;&#x7684;&#x610F;&#x601D;&#x662F; <em>month</em> &#xFF08;&#x6708;&#x4EFD;&#xFF09;&#xFF0C;&#x96E8;&#x7684;&#x610F;&#x601D;&#x662F; <em>rain</em> &#xFF08;&#x4E0B;&#x96E8;&#xFF09;&#x3002; &#x7B2C;&#x4E00;&#x4E2A;&#x548C;&#x7B2C;&#x4E8C;&#x4E2A;&#x5B57;&#x7B26;&#x5199;&#x5728;&#x4E00;&#x8D77;&#x6210;&#x4E86;&#x4E94;&#x6708;&#xFF0C;&#x610F;&#x601D;&#x662F; <em>the month of May_&#xFF08;&#x4E00;&#x5E74;&#x4E2D;&#x7684;&#x4E94;&#x6708;&#xFF09;&#xFF0C; &#x7136;&#x800C;&#x6DFB;&#x52A0;&#x4E0A;&#x7B2C;&#x4E09;&#x4E2A;&#x5B57;&#x7B26;, &#x4E94;&#x6708;&#x96E8;&#x7684;&#x610F;&#x601D;&#x662F; _continuous rain</em> &#xFF08;&#x8FDE;&#x7EED;&#x4E0D;&#x65AD;&#x7684;&#x4E0B;&#x96E8;,&#x6885;&#x96E8;&#xFF09;&#x3002;&#x5F53;&#x5728;&#x5408;&#x5E76;&#x7B2C;&#x56DB;&#x4E2A;&#x5B57;&#x7B26;&#xFF0C; &#x5F0F;&#xFF0C; &#x610F;&#x601D;&#x662F; <em>style</em> &#xFF08;&#x6837;&#x5F0F;&#xFF09;&#xFF0C;&#x4E94;&#x6708;&#x96E8;&#x5F0F;&#x8FD9;&#x4E2A;&#x5355;&#x8BCD;&#x5219;&#x6210;&#x4E86;&#x4E00;&#x79CD;&#x4E0D;&#x5C48;&#x4E0D;&#x6320;&#x6301;&#x7EED;&#x4E0D;&#x65AD;&#x7684;&#x4E1C;&#x897F;&#x7684;&#x5F62;&#x5BB9;&#x8BCD;&#x3002;</li>
</ul>
<p>&#x867D;&#x7136;&#x6BCF;&#x4E2A;&#x5B57;&#x7B26;&#x672C;&#x8EAB;&#x53EF;&#x4EE5;&#x662F;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#xFF0C;&#x4F46;&#x4F7F;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x4FDD;&#x6301;&#x66F4;&#x5927;&#x7684;&#x539F;&#x59CB;&#x6982;&#x5FF5;&#x6BD4;&#x4F7F;&#x5176;&#x4EC5;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x8BCD;&#x7EC4;&#x7684;&#x4E00;&#x90E8;&#x5206;&#x8981;&#x6709;&#x610F;&#x4E49;&#x7684;&#x591A;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=standard
&#x5411;&#x65E5;&#x8475;

GET /_analyze?tokenizer=icu_tokenizer
&#x5411;&#x65E5;&#x8475;
</code></pre>
<p><code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x5728;&#x524D;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#x5C06;&#x6BCF;&#x4E2A;&#x5B57;&#x7B26;&#x8F93;&#x51FA;&#x4E3A;&#x5355;&#x72EC;&#x7684;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF1A; <code>&#x5411;</code> &#xFF0C; <code>&#x65E5;</code> &#xFF0C; <code>&#x8475;</code> &#x3002; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x4F1A;&#x8F93;&#x51FA;&#x5355;&#x4E2A;&#x8BCD;&#x6C47;&#x5355;&#x5143; <code>&#x5411;&#x65E5;&#x8475;</code> &#xFF08;sunflower&#xFF09; &#x3002;</p>
<p><code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x548C; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x7684;&#x53E6;&#x4E00;&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x5730;&#x65B9;&#x662F;&#x540E;&#x8005;&#x4F1A;&#x5C06;&#x4E0D;&#x540C;&#x4E66;&#x5199;&#x65B9;&#x5F0F;&#x7684;&#x5B57;&#x7B26;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;<code>&#x3B2;eta</code> &#xFF09;&#x62C6;&#x5206;&#x6210;&#x72EC;&#x7ACB;&#x7684;&#x8BCD;&#x6C47;&#x5355;&#x5143; &#x2014; <code>&#x3B2;</code> &#x548C; <code>eta</code>&#x2014; &#xFF0C;&#x800C;&#x524D;&#x8005;&#x5219;&#x4F1A;&#x8F93;&#x51FA;&#x5355;&#x4E2A;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF1A; <code>&#x3B2;eta</code> &#x3002;</p>
<h3 id="&#x6574;&#x7406;&#x8F93;&#x5165;&#x6587;&#x672C;"><a name="&#x6574;&#x7406;&#x8F93;&#x5165;&#x6587;&#x672C;" class="anchor-navigation-ex-anchor" href="#&#x6574;&#x7406;&#x8F93;&#x5165;&#x6587;&#x672C;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6574;&#x7406;&#x8F93;&#x5165;&#x6587;&#x672C;</h3>
<p>&#x5F53;&#x8F93;&#x5165;&#x6587;&#x672C;&#x662F;&#x5E72;&#x51C0;&#x7684;&#x65F6;&#x5019;&#x5206;&#x8BCD;&#x5668;&#x63D0;&#x4F9B;&#x6700;&#x4F73;&#x5206;&#x8BCD;&#x7ED3;&#x679C;&#xFF0C;&#x6709;&#x6548;&#x6587;&#x672C;&#xFF0C;&#x8FD9;&#x91CC; <em>&#x6709;&#x6548;</em> &#x6307;&#x7684;&#x662F;&#x9075;&#x4ECE; Unicode &#x7B97;&#x6CD5;&#x671F;&#x671B;&#x7684;&#x6807;&#x70B9;&#x7B26;&#x53F7;&#x89C4;&#x5219; &#x3002; &#x7136;&#x800C;&#x5F88;&#x591A;&#x65F6;&#x5019;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5904;&#x7406;&#x7684;&#x6587;&#x672C;&#x4F1A;&#x662F;&#x9664;&#x4E86;&#x5E72;&#x51C0;&#x6587;&#x672C;&#x4E4B;&#x5916;&#x7684;&#x4EFB;&#x4F55;&#x6587;&#x672C;&#x3002;&#x5728;&#x5206;&#x8BCD;&#x4E4B;&#x524D;&#x6574;&#x7406;&#x6587;&#x672C;&#x4F1A;&#x63D0;&#x5347;&#x8F93;&#x51FA;&#x7ED3;&#x679C;&#x7684;&#x8D28;&#x91CF;&#x3002;</p>
<p><strong>HTML &#x5206;&#x8BCD;</strong></p>
<p>&#x5C06; HTML &#x901A;&#x8FC7; <code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x6216; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x5206;&#x8BCD;&#x5C06;&#x4EA7;&#x751F;&#x7CDF;&#x7CD5;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x8FD9;&#x4E9B;&#x5206;&#x8BCD;&#x5668;&#x4E0D;&#x77E5;&#x9053;&#x5982;&#x4F55;&#x5904;&#x7406; HTML &#x6807;&#x7B7E;&#x3002;&#x4F8B;&#x5982;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=standard
&lt;p&gt;Some d&amp;eacute;j&amp;agrave; vu &lt;a href=&quot;http://somedomain.com&gt;&quot;&gt;website&lt;/a&gt;
</code></pre>
<p><code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x4F1A;&#x6DF7;&#x6DC6; HTML &#x6807;&#x7B7E;&#x548C;&#x5B9E;&#x4F53;&#xFF0C;&#x5E76;&#x4E14;&#x8F93;&#x51FA;&#x4EE5;&#x4E0B;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF1A; <code>p</code> &#x3001; <code>Some</code> &#x3001; <code>d</code> &#x3001; <code>eacute</code> &#x3001; <code>j</code> &#x3001; <code>agrave</code> &#x3001; <code>vu</code> &#x3001; <code>a</code> &#x3001; <code>href</code> &#x3001; <code>http</code> &#x3001; <code>somedomain.com</code> &#x3001; <code>website</code> &#x3001; <code>a</code> &#x3002;&#x8FD9;&#x4E9B;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x663E;&#x7136;&#x4E0D;&#x77E5;&#x6240;&#x4E91;&#xFF01;</p>
<p><em>&#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668;</em> &#x53EF;&#x4EE5;&#x6DFB;&#x52A0;&#x8FDB;&#x5206;&#x6790;&#x5668;&#x4E2D;&#xFF0C;&#x5728;&#x5C06;&#x6587;&#x672C;&#x4F20;&#x7ED9;&#x5206;&#x8BCD;&#x5668;&#x4E4B;&#x524D;&#x9884;&#x5904;&#x7406;&#x8BE5;&#x6587;&#x672C;&#x3002;&#x5728;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528; <code>html_strip</code> &#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668; &#x79FB;&#x9664; HTML &#x6807;&#x7B7E;&#x5E76;&#x7F16;&#x7801; HTML &#x5B9E;&#x4F53;&#x5982; <code>&amp;eacute;</code> &#x4E3A;&#x4E00;&#x81F4;&#x7684; Unicode &#x5B57;&#x7B26;&#x3002;</p>
<p>&#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>analyze</code> API &#x8FDB;&#x884C;&#x6D4B;&#x8BD5;&#xFF0C;&#x8FD9;&#x9700;&#x8981;&#x5728;&#x67E5;&#x8BE2;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x6307;&#x660E;&#x5B83;&#x4EEC;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=standard&amp;char_filters=html_strip
&lt;p&gt;Some d&amp;eacute;j&amp;agrave; vu &lt;a href=&quot;http://somedomain.com&gt;&quot;&gt;website&lt;/a&gt;
</code></pre>
<p>&#x60F3;&#x5C06;&#x5B83;&#x4EEC;&#x4F5C;&#x4E3A;&#x5206;&#x6790;&#x5668;&#x7684;&#x4E00;&#x90E8;&#x5206;&#x4F7F;&#x7528;&#xFF0C;&#x9700;&#x8981;&#x628A;&#x5B83;&#x4EEC;&#x6DFB;&#x52A0;&#x5230; <code>custom</code> &#x7C7B;&#x578B;&#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x5206;&#x6790;&#x5668;&#x91CC;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
    <span class="hljs-string">&quot;settings&quot;</span>: {
        <span class="hljs-string">&quot;analysis&quot;</span>: {
            <span class="hljs-string">&quot;analyzer&quot;</span>: {
                <span class="hljs-string">&quot;my_html_analyzer&quot;</span>: {
                    <span class="hljs-string">&quot;tokenizer&quot;</span>:     <span class="hljs-string">&quot;standard&quot;</span>,
                    <span class="hljs-string">&quot;char_filter&quot;</span>: [ <span class="hljs-string">&quot;html_strip&quot;</span> ]
                }
            }
        }
    }
}
</code></pre>
<p>&#x4E00;&#x65E6;&#x81EA;&#x5B9A;&#x4E49;&#x5206;&#x6790;&#x5668;&#x521B;&#x5EFA;&#x597D;&#x4E4B;&#x540E;&#xFF0C; &#x6211;&#x4EEC;&#x65B0;&#x7684; <code>my_html_analyzer</code> &#x5C31;&#x53EF;&#x4EE5;&#x7528; <code>analyze</code> API &#x6D4B;&#x8BD5;&#xFF1A;</p>
<pre><code class="lang-js">GET /my_index/_analyze?analyzer=my_html_analyzer
&lt;p&gt;Some d&amp;eacute;j&amp;agrave; vu &lt;a href=&quot;http://somedomain.com&gt;&quot;&gt;website&lt;/a&gt;
</code></pre>
<p>&#x8FD9;&#x6B21;&#x8F93;&#x51FA;&#x7684;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x624D;&#x662F;&#x6211;&#x4EEC;&#x671F;&#x671B;&#x7684;&#xFF1A; <code>Some</code> &#xFF0C; <code>d&#xE9;j&#xE0;</code> &#xFF0C; <code>vu</code> &#xFF0C; <code>website</code> &#x3002;</p>
<p><strong>&#x6574;&#x7406;&#x6807;&#x70B9;&#x7B26;&#x53F7;</strong></p>
<p><code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x548C; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x90FD;&#x80FD;&#x7406;&#x89E3;&#x5355;&#x8BCD;&#x4E2D;&#x7684;&#x6487;&#x53F7;&#x5E94;&#x5F53;&#x88AB;&#x89C6;&#x4E3A;&#x5355;&#x8BCD;&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C;&#x7136;&#x800C;&#x5305;&#x56F4;&#x5355;&#x8BCD;&#x7684;&#x5355;&#x5F15;&#x53F7;&#x5728;&#x4E0D;&#x5E94;&#x8BE5;&#x3002; &#x5206;&#x8BCD;&#x6587;&#x672C; <code>You&apos;re my &apos;favorite&apos;</code> &#xFF0C; &#x4F1A;&#x88AB;&#x8F93;&#x51FA;&#x6B63;&#x786E;&#x7684;&#x8BCD;&#x6C47;&#x5355;&#x5143; <code>You&apos;re &#xFF0C; my &#xFF0C; favorite</code> &#x3002;</p>
<p>&#x4E0D;&#x5E78;&#x7684;&#x662F;&#xFF0C; Unicode &#x5217;&#x51FA;&#x4E86;&#x4E00;&#x4E9B;&#x6709;&#x65F6;&#x4F1A;&#x88AB;&#x7528;&#x4E3A;&#x6487;&#x53F7;&#x7684;&#x5B57;&#x7B26;&#xFF1A;</p>
<ul>
<li><p><code>U+0027</code></p>
<p>&#x6487;&#x53F7;&#x6807;&#x8BB0;&#x4E3A; (<code>&apos;</code>)&#x2014; &#x539F;&#x59CB; ASCII &#x7B26;&#x53F7;</p>
</li>
<li><p><code>U+2018</code></p>
<p>&#x5DE6;&#x5355;&#x5F15;&#x53F7;&#x6807;&#x8BB0;&#x4E3A; (<code>&#x2018;</code>)&#x2014; &#x5F53;&#x5355;&#x5F15;&#x7528;&#x65F6;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x5F15;&#x7528;&#x7684;&#x5F00;&#x59CB;</p>
</li>
<li><p><code>U+2019</code></p>
<p>&#x53F3;&#x5355;&#x5F15;&#x53F7;&#x6807;&#x8BB0;&#x4E3A; (<code>&#x2019;</code>)&#x2014; &#x5F53;&#x5355;&#x5F15;&#x7528;&#x65F6;&#x5EA7;&#x4F4D;&#x4E00;&#x4E2A;&#x5F15;&#x7528;&#x7684;&#x7ED3;&#x675F;&#xFF0C;&#x4E5F;&#x662F;&#x6487;&#x53F7;&#x7684;&#x9996;&#x9009;&#x5B57;&#x7B26;&#x3002;</p>
</li>
</ul>
<p>&#x5F53;&#x8FD9;&#x4E09;&#x4E2A;&#x5B57;&#x7B26;&#x51FA;&#x73B0;&#x5728;&#x5355;&#x8BCD;&#x4E2D;&#x95F4;&#x7684;&#x65F6;&#x5019;&#xFF0C; <code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x548C; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x90FD;&#x4F1A;&#x5C06;&#x8FD9;&#x4E09;&#x4E2A;&#x5B57;&#x7B26;&#x89C6;&#x4E3A;&#x6487;&#x53F7;&#xFF08;&#x8FD9;&#x4F1A;&#x88AB;&#x89C6;&#x4E3A;&#x5355;&#x8BCD;&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF09;&#x3002; &#x7136;&#x800C;&#x8FD8;&#x6709;&#x53E6;&#x5916;&#x4E09;&#x4E2A;&#x957F;&#x5F97;&#x5F88;&#x50CF;&#x6487;&#x53F7;&#x7684;&#x5B57;&#x7B26;&#xFF1A;</p>
<ul>
<li><p><code>U+201B</code></p>
<p>Single high-reversed-9 &#xFF08;&#x9AD8;&#x53CD;&#x5355;&#x5F15;&#x53F7;&#xFF09;&#x6807;&#x8BB0;&#x4E3A; (<code>&#x201B;</code>)&#x2014; &#x8DDF; <code>U+2018</code> &#x4E00;&#x6837;&#xFF0C;&#x4F46;&#x662F;&#x5916;&#x89C2;&#x4E0A;&#x6709;&#x533A;&#x522B;</p>
</li>
<li><p><code>U+0091</code></p>
<p>ISO-8859-1 &#x4E2D;&#x7684;&#x5DE6;&#x5355;&#x5F15;&#x53F7; &#x2014; &#x4E0D;&#x4F1A;&#x88AB;&#x7528;&#x4E8E; Unicode &#x4E2D;</p>
</li>
<li><p><code>U+0092</code></p>
<p>ISO-8859-1 &#x4E2D;&#x7684;&#x53F3;&#x5355;&#x5F15;&#x53F7; &#x2014; &#x4E0D;&#x4F1A;&#x88AB;&#x7528;&#x4E8E; Unicode &#x4E2D;</p>
</li>
</ul>
<p><code>&#x6807;&#x51C6;&#x5206;&#x8BCD;&#x5668;</code> &#x548C; <code>icu_&#x5206;&#x8BCD;&#x5668;</code> &#x628A;&#x8FD9;&#x4E09;&#x4E2A;&#x5B57;&#x7B26;&#x89C6;&#x4E3A;&#x5355;&#x8BCD;&#x7684;&#x5206;&#x754C;&#x7EBF;&#x2009;&#x2014;&#x2009;&#x4E00;&#x4E2A;&#x5C06;&#x6587;&#x672C;&#x62C6;&#x5206;&#x4E3A;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x7684;&#x4F4D;&#x7F6E;&#x3002;&#x4E0D;&#x5E78;&#x7684;&#x662F;&#xFF0C;&#x4E00;&#x4E9B;&#x51FA;&#x7248;&#x793E;&#x7528; <code>U+201B</code> &#x4F5C;&#x4E3A;&#x540D;&#x5B57;&#x7684;&#x5178;&#x578B;&#x4E66;&#x5199;&#x65B9;&#x5F0F;&#x4F8B;&#x5982; <code>M&#x201B;coy</code> &#xFF0C; &#x7B2C;&#x4E8C;&#x4E2A;&#x4FE9;&#x5B57;&#x7B26;&#x6216;&#x8BB8;&#x53EF;&#x4EE5;&#x88AB;&#x4F60;&#x7684;&#x6587;&#x5B57;&#x5904;&#x7406;&#x8F6F;&#x4EF6;&#x6253;&#x51FA;&#x6765;&#xFF0C;&#x8FD9;&#x53D6;&#x51B3;&#x4E8E;&#x8FD9;&#x6B3E;&#x8F6F;&#x4EF6;&#x7684;&#x5E74;&#x7EAA;&#x3002;</p>
<p>&#x5373;&#x4F7F;&#x5728;&#x4F7F;&#x7528;&#x53EF;&#x4EE5;&#x201C;&#x63A5;&#x53D7;&#x201D;&#x7684;&#x5F15;&#x53F7;&#x6807;&#x8BB0;&#x65F6;&#xFF0C;&#x4E00;&#x4E2A;&#x7528;&#x5355;&#x5F15;&#x53F7;&#x4E66;&#x5199;&#x7684;&#x8BCD; &#x2014; <code>You&#x2019;re</code> &#x2014; &#x4E5F;&#x548C;&#x4E00;&#x4E2A;&#x7528;&#x6487;&#x53F7;&#x4E66;&#x5199;&#x7684;&#x8BCD; &#x2014; <code>You&apos;re</code> &#x2014; &#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x8FD9;&#x610F;&#x5473;&#x7740;&#x641C;&#x7D22;&#x5176;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x53D8;&#x4F53;&#x5C06;&#x4F1A;&#x627E;&#x4E0D;&#x5230;&#x53E6;&#x4E00;&#x4E2A;&#x3002;</p>
<p>&#x5E78;&#x8FD0;&#x7684;&#x662F;&#xFF0C;&#x53EF;&#x4EE5;&#x7528; <code>mapping</code> &#x5BF9;&#x8FD9;&#x4E9B;&#x6DF7;&#x4E71;&#x7684;&#x5B57;&#x7B26;&#x8FDB;&#x884C;&#x5206;&#x7C7B;&#xFF0C; &#x8BE5;&#x8FC7;&#x6EE4;&#x5668;&#x53EF;&#x4EE5;&#x8FD0;&#x884C;&#x6211;&#x4EEC;&#x7528;&#x53E6;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x66FF;&#x6362;&#x6240;&#x6709;&#x5B9E;&#x4F8B;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x3002;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7B80;&#x5355;&#x7684;&#x7528; <code>U+0027</code> &#x66FF;&#x6362;&#x6240;&#x6709;&#x7684;&#x6487;&#x53F7;&#x53D8;&#x4F53;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;char_filter&quot;</span>: {                        &lt;1&gt;
        &quot;quotes&quot;: {
          &quot;type&quot;: &quot;mapping&quot;,
          &quot;mappings&quot;: [                       &lt;2&gt;
            &quot;\\u0091=&gt;\\u0027&quot;,
            &quot;\\u0092=&gt;\\u0027&quot;,
            &quot;\\u2018=&gt;\\u0027&quot;,
            &quot;\\u2019=&gt;\\u0027&quot;,
            &quot;\\u201B=&gt;\\u0027&quot;
          ]
        }
      },
      &quot;analyzer&quot;: {
        &quot;quotes_analyzer&quot;: {
          &quot;tokenizer&quot;:     &quot;standard&quot;,
          &quot;char_filter&quot;: [ &quot;quotes&quot; ]         &lt;3&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6211;&#x4EEC;&#x81EA;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A; <code>char_filter</code> &#xFF08;&#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668;&#xFF09;&#x53EB;&#x505A; <code>quotes</code> &#xFF0C;&#x63D0;&#x4F9B;&#x6240;&#x6709;&#x6487;&#x53F7;&#x53D8;&#x4F53;&#x5230;&#x7B80;&#x5355;&#x6487;&#x53F7;&#x7684;&#x6620;&#x5C04;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x4E3A;&#x4E86;&#x66F4;&#x6E05;&#x6670;&#xFF0C;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x6BCF;&#x4E2A;&#x5B57;&#x7B26;&#x7684; JSON Unicode &#x8F6C;&#x4E49;&#x8BED;&#x53E5;&#xFF0C;&#x5F53;&#x7136;&#x6211;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x4ED6;&#x4EEC;&#x672C;&#x8EAB;&#x5B57;&#x7B26;&#x8868;&#x793A;&#xFF1A; <code>&quot;&#x2018;=&gt;&apos;&quot;</code> &#x3002;  </p>
<p> <img src="assets/3.png" alt="img">  &#x6211;&#x4EEC;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x7684; <code>quotes</code> &#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x5206;&#x6790;&#x5668;&#x53EB;&#x505A; <code>quotes_analyzer</code> &#x3002;   </p>
</blockquote>
<p>&#x50CF;&#x4EE5;&#x524D;&#x4E00;&#x6837;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5728;&#x521B;&#x5EFA;&#x4E86;&#x5206;&#x6790;&#x5668;&#x540E;&#x6D4B;&#x8BD5;&#x5B83;&#xFF1A;</p>
<pre><code class="lang-js">GET /my_index/_analyze?analyzer=quotes_analyzer
You&#x2019;re my &#x2018;favorite&#x2019; M&#x201B;Coy
</code></pre>
<p>&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x8FD4;&#x56DE;&#x5982;&#x4E0B;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF0C;&#x5176;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5355;&#x8BCD;&#x4E2D;&#x7684;&#x5F15;&#x53F7;&#x6807;&#x8BB0;&#x90FD;&#x88AB;&#x66FF;&#x6362;&#x4E3A;&#x4E86;&#x6487;&#x53F7;&#xFF1A; <code>You&apos;re</code>, <code>my</code>, <code>favorite</code>, <code>M&apos;Coy</code> &#x3002;</p>
<p>&#x6295;&#x5165;&#x66F4;&#x591A;&#x7684;&#x52AA;&#x529B;&#x786E;&#x4FDD;&#x4F60;&#x7684;&#x5206;&#x8BCD;&#x5668;&#x63A5;&#x6536;&#x5230;&#x9AD8;&#x8D28;&#x91CF;&#x7684;&#x8F93;&#x5165;&#xFF0C;&#x4F60;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x8D28;&#x91CF;&#x4E5F;&#x5C06;&#x4F1A;&#x66F4;&#x597D;&#x3002;</p>
<h2 id="&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;"><a name="&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;" class="anchor-navigation-ex-anchor" href="#&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5F52;&#x4E00;&#x5316;&#x8BCD;&#x5143;</h2>
<p>&#x628A;&#x6587;&#x672C;&#x5207;&#x5272;&#x6210;&#x8BCD;&#x5143;(token)&#x53EA;&#x662F;&#x8FD9;&#x9879;&#x5DE5;&#x4F5C; &#x7684;&#x4E00;&#x534A;&#x3002;&#x4E3A;&#x4E86;&#x8BA9;&#x8FD9;&#x4E9B;&#x8BCD;&#x5143;(token)&#x66F4;&#x5BB9;&#x6613;&#x641C;&#x7D22;, &#x8FD9;&#x4E9B;&#x8BCD;&#x5143;(token)&#x9700;&#x8981;&#x88AB; <em>&#x5F52;&#x4E00;&#x5316;</em>(<em>normalization</em>)--&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x4F1A;&#x53BB;&#x9664;&#x540C;&#x4E00;&#x4E2A;&#x8BCD;&#x5143;(token)&#x7684;&#x65E0;&#x610F;&#x4E49;&#x5DEE;&#x522B;&#xFF0C;&#x4F8B;&#x5982;&#x5927;&#x5199;&#x548C;&#x5C0F;&#x5199;&#x7684;&#x5DEE;&#x522B;&#x3002;&#x53EF;&#x80FD;&#x6211;&#x4EEC;&#x8FD8;&#x9700;&#x8981;&#x53BB;&#x6389;&#x6709;&#x610F;&#x4E49;&#x7684;&#x5DEE;&#x522B;, &#x8BA9; <code>esta</code>&#x3001;<code>&#xE9;sta</code> &#x548C; <code>est&#xE1;</code> &#x90FD;&#x80FD;&#x7528;&#x540C;&#x4E00;&#x4E2A;&#x8BCD;&#x5143;(token)&#x6765;&#x641C;&#x7D22;&#x3002;&#x4F60;&#x4F1A;&#x7528; <code>d&#xE9;j&#xE0; vu</code> &#x6765;&#x641C;&#x7D22;&#xFF0C;&#x8FD8;&#x662F; <code>deja vu</code>?</p>
<p>&#x8FD9;&#x4E9B;&#x90FD;&#x662F;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x7684;&#x5DE5;&#x4F5C;&#x3002;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x63A5;&#x6536;&#x6765;&#x81EA;&#x5206;&#x8BCD;&#x5668;(tokenizer)&#x7684;&#x8BCD;&#x5143;(token)&#x6D41;&#x3002;&#x8FD8;&#x53EF;&#x4EE5;&#x4E00;&#x8D77;&#x4F7F;&#x7528;&#x591A;&#x4E2A;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x90FD;&#x6709;&#x81EA;&#x5DF1;&#x7279;&#x5B9A;&#x7684;&#x5904;&#x7406;&#x5DE5;&#x4F5C;&#x3002;&#x6BCF;&#x4E00;&#x4E2A;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x90FD;&#x53EF;&#x4EE5;&#x5904;&#x7406;&#x6765;&#x81EA;&#x53E6;&#x4E00;&#x4E2A;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x8F93;&#x51FA;&#x7684;&#x5355;&#x8BCD;&#x6D41;&#x3002;</p>
<h3 id="&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;"><a name="&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;" class="anchor-navigation-ex-anchor" href="#&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;</h3>
<p>&#x7528;&#x7684;&#x6700;&#x591A;&#x7684;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#x662F; <code>lowercase</code> &#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x5B83;&#x7684;&#x529F;&#x80FD;&#x6B63;&#x548C;&#x4F60;&#x671F;&#x671B;&#x7684;&#x4E00;&#x6837;&#xFF1B;&#x5B83;&#x5C06;&#x6BCF;&#x4E2A;&#x8BCD;&#x5143;(token)&#x8F6C;&#x6362;&#x4E3A;&#x5C0F;&#x5199;&#x5F62;&#x5F0F;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?tokenizer=standard&amp;filters=lowercase
The QUICK Brown FOX!                                  <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143;(token)&#x662F; <code>the</code>, <code>quick</code>, <code>brown</code>, <code>fox</code>   </p>
</blockquote>
<p>&#x53EA;&#x8981;&#x67E5;&#x8BE2;&#x548C;&#x68C0;&#x7D22;&#x7684;&#x5206;&#x6790;&#x8FC7;&#x7A0B;&#x662F;&#x4E00;&#x6837;&#x7684;&#xFF0C;&#x4E0D;&#x7BA1;&#x7528;&#x6237;&#x641C;&#x7D22; <code>fox</code> &#x8FD8;&#x662F; <code>FOX</code> &#x90FD;&#x80FD;&#x5F97;&#x5230;&#x4E00;&#x6837;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x3002;<code>lowercase</code>&#x8FC7;&#x6EE4;&#x5668;&#x4F1A;&#x5C06;&#x67E5;&#x8BE2; <code>FOX</code> &#x7684;&#x8BF7;&#x6C42;&#x8F6C;&#x6362;&#x4E3A;&#x67E5;&#x8BE2; <code>fox</code> &#x7684;&#x8BF7;&#x6C42;&#xFF0C; <code>fox</code> &#x548C;&#x6211;&#x4EEC;&#x5728;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x4E2D;&#x5B58;&#x50A8;&#x7684;&#x662F;&#x540C;&#x4E00;&#x4E2A;&#x8BCD;&#x5143;(token)&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x5728;&#x5206;&#x6790;&#x8FC7;&#x7A0B;&#x4E2D;&#x4F7F;&#x7528; token &#x8FC7;&#x6EE4;&#x5668; &#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x521B;&#x5EFA;&#x4E00;&#x4E2A; <code>custom</code> &#x5206;&#x6790;&#x5668; &#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;my_lowercaser&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;standard&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>:  [ <span class="hljs-string">&quot;lowercase&quot;</span> ]
        }
      }
    }
  }
}
</code></pre>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>analyze</code> API &#x6765;&#x9A8C;&#x8BC1;:</p>
<pre><code class="lang-js">GET /my_index/_analyze?analyzer=my_lowercaser
The QUICK Brown FOX!                                   <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143;&#x662F; <code>the</code>, <code>quick</code>, <code>brown</code>, <code>fox</code>   </p>
</blockquote>
<h3 id="&#x5982;&#x679C;&#x6709;&#x53E3;&#x97F3;"><a name="&#x5982;&#x679C;&#x6709;&#x53E3;&#x97F3;" class="anchor-navigation-ex-anchor" href="#&#x5982;&#x679C;&#x6709;&#x53E3;&#x97F3;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5982;&#x679C;&#x6709;&#x53E3;&#x97F3;</h3>
<p>&#x82F1;&#x8BED;&#x7528;&#x53D8;&#x97F3;&#x7B26;&#x53F7;(&#x4F8B;&#x5982; <code>&#xB4;</code>, <code>^</code>, &#x548C; <code>&#xA8;</code>) &#x6765;&#x5F3A;&#x8C03;&#x5355;&#x8BCD;&#x2014;&#x4F8B;&#x5982; <code>r&#xF4;le</code>, <code>d&#xE9;j&#xE0;</code>, &#x548C; <code>d&#xE4;is</code> &#x2014;&#x4F46;&#x662F;&#x662F;&#x5426;&#x4F7F;&#x7528;&#x4ED6;&#x4EEC;&#x901A;&#x5E38;&#x662F;&#x53EF;&#x9009;&#x7684;. &#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x5219;&#x901A;&#x8FC7;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x6765;&#x533A;&#x5206;&#x5355;&#x8BCD;&#x3002;&#x5F53;&#x7136;&#xFF0C;&#x53EA;&#x662F;&#x56E0;&#x4E3A;&#x5728;&#x4F60;&#x7684;&#x7D22;&#x5F15;&#x4E2D;&#x62FC;&#x5199;&#x6B63;&#x786E;&#x7684;&#x5355;&#x8BCD;&#x5E76;&#x4E0D;&#x610F;&#x5473;&#x7740;&#x7528;&#x6237;&#x5C06;&#x641C;&#x7D22;&#x6B63;&#x786E;&#x7684;&#x62FC;&#x5199;&#x3002; &#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x901A;&#x5E38;&#x662F;&#x6709;&#x7528;&#x7684;&#xFF0C;&#x8BA9; <code>r&#xF4;le</code> &#x5BF9;&#x5E94; <code>role</code>, &#x6216;&#x8005;&#x53CD;&#x8FC7;&#x6765;&#x3002; &#x5BF9;&#x4E8E;&#x897F;&#x65B9;&#x8BED;&#x8A00;&#xFF0C;&#x53EF;&#x4EE5;&#x7528; <code>asciifolding</code> &#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668;&#x6765;&#x5B9E;&#x73B0;&#x8FD9;&#x4E2A;&#x529F;&#x80FD;&#x3002; &#x5B9E;&#x9645;&#x4E0A;&#xFF0C;&#x5B83;&#x4E0D;&#x4EC5;&#x4EC5;&#x80FD;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x3002;&#x5B83;&#x4F1A;&#x628A;Unicode&#x5B57;&#x7B26;&#x8F6C;&#x5316;&#x4E3A;ASCII&#x6765;&#x8868;&#x793A;:</p>
<ul>
<li><code>&#xDF;</code> &#x21D2; <code>ss</code></li>
<li><code>&#xE6;</code> &#x21D2; <code>ae</code></li>
<li><code>&#x142;</code> &#x21D2; <code>l</code></li>
<li><code>&#x270;</code> &#x21D2; <code>m</code></li>
<li><code>&#x2047;</code> &#x21D2; <code>??</code></li>
<li><code>&#x2777;</code> &#x21D2; <code>2</code></li>
<li><code>&#x2076;</code> &#x21D2; <code>6</code></li>
</ul>
<p>&#x50CF; <code>lowercase</code> &#x8FC7;&#x6EE4;&#x5668;&#x4E00;&#x6837;, <code>asciifolding</code> &#x4E0D;&#x9700;&#x8981;&#x4EFB;&#x4F55;&#x914D;&#x7F6E;&#xFF0C;&#x53EF;&#x4EE5;&#x88AB; <code>custom</code> &#x5206;&#x6790;&#x5668;&#x76F4;&#x63A5;&#x4F7F;&#x7528;:</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;folding&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;standard&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>:  [ <span class="hljs-string">&quot;lowercase&quot;</span>, <span class="hljs-string">&quot;asciifolding&quot;</span> ]
        }
      }
    }
  }
}

GET /my_index?analyzer=folding
My &#x153;sophagus caused a d&#xE9;b&#xE2;cle                                 &lt;<span class="hljs-number">1</span>&gt;
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143; <code>my</code>, <code>oesophagus</code>, <code>caused</code>, <code>a</code>, <code>debacle</code>   </p>
</blockquote>
<p><strong>&#x4FDD;&#x7559;&#x539F;&#x610F;</strong></p>
<p>&#x7406;&#x6240;&#x5F53;&#x7136;&#x7684;&#xFF0C;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x4F1A;&#x4E22;&#x5931;&#x539F;&#x610F;&#x3002; &#x4F8B;&#x5982;, &#x53C2;&#x8003; &#x8FD9;&#x4E09;&#x4E2A; &#x897F;&#x73ED;&#x7259;&#x5355;&#x8BCD;:</p>
<ul>
<li><p><code>esta</code></p>
<p>&#x5F62;&#x5BB9;&#x8BCD; <em>this</em> &#x7684;&#x9634;&#x6027;&#x5F62;&#x5F0F;, &#x4F8B;&#x5982; <em>esta silla</em> (this chair) &#x548C; <em>esta</em> (this one).</p>
</li>
<li><p><code>&#xE9;sta</code></p>
<p><code>esta</code> &#x7684;&#x53E4;&#x4EE3;&#x7528;&#x6CD5;.</p>
</li>
<li><p><code>est&#xE1;</code></p>
<p>&#x52A8;&#x8BCD; <em>estar</em> (to be) &#x7684;&#x7B2C;&#x4E09;&#x4EBA;&#x79F0;&#x5F62;&#x5F0F;, &#x4F8B;&#x5982; <em>est&#xE1; feliz</em> (he is happy).</p>
</li>
</ul>
<p>&#x901A;&#x5E38;&#x6211;&#x4EEC;&#x4F1A;&#x5408;&#x5E76;&#x524D;&#x4E24;&#x4E2A;&#x5F62;&#x5F0F;&#x7684;&#x5355;&#x8BCD;&#xFF0C;&#x800C;&#x53BB;&#x533A;&#x5206;&#x548C;&#x4ED6;&#x4EEC;&#x4E0D;&#x76F8;&#x540C;&#x7684;&#x7B2C;&#x4E09;&#x4E2A;&#x5F62;&#x5F0F;&#x7684;&#x5355;&#x8BCD;&#x3002;&#x7C7B;&#x4F3C;&#x7684;:</p>
<ul>
<li><p><code>s&#xE9;</code></p>
<p>&#x52A8;&#x8BCD; <em>saber</em> (to know) &#x7684;&#x7B2C;&#x4E00;&#x4EBA;&#x79F0;&#x5F62;&#x5F0F; &#x4F8B;&#x5982; <em>Yo s&#xE9;</em> (I know).</p>
</li>
<li><p><code>se</code></p>
<p>&#x4E0E;&#x8BB8;&#x591A;&#x52A8;&#x8BCD;&#x4F7F;&#x7528;&#x7684;&#x7B2C;&#x4E09;&#x4EBA;&#x79F0;&#x53CD;&#x8EAB;&#x4EE3;&#x8BCD;, &#x4F8B;&#x5982; <em>se sabe</em> (it is known).</p>
</li>
</ul>
<p>&#x4E0D;&#x5E78;&#x7684;&#x662F;&#xFF0C;&#x6CA1;&#x6709;&#x7B80;&#x5355;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x53BB;&#x533A;&#x5206;&#x54EA;&#x4E9B;&#x8BCD;&#x5E94;&#x8BE5;&#x4FDD;&#x7559;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x548C;&#x54EA;&#x4E9B;&#x8BCD;&#x5E94;&#x8BE5;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x3002;&#x800C;&#x4E14;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#xFF0C;&#x4F60;&#x7684;&#x7528;&#x6237;&#x4E5F;&#x4E0D;&#x77E5;&#x9053;.</p>
<p>&#x76F8;&#x53CD;&#xFF0C; &#x6211;&#x4EEC;&#x5BF9;&#x6587;&#x672C;&#x505A;&#x4E24;&#x6B21;&#x7D22;&#x5F15;: &#x4E00;&#x6B21;&#x7528;&#x539F;&#x6587;&#x5F62;&#x5F0F;&#xFF0C;&#x4E00;&#x6B21;&#x7528;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x7684;&#x5F62;&#x5F0F; :</p>
<pre><code class="lang-js">PUT /my_index/_mapping/my_type
{
  <span class="hljs-string">&quot;properties&quot;</span>: {
    <span class="hljs-string">&quot;title&quot;</span>: {                               &lt;1&gt;
      &quot;type&quot;:           &quot;string&quot;,
      &quot;analyzer&quot;:       &quot;standard&quot;,
      &quot;fields&quot;: {
        &quot;folded&quot;: {                          &lt;2&gt;
          &quot;type&quot;:       &quot;string&quot;,
          &quot;analyzer&quot;:   &quot;folding&quot;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5728; <code>title</code> &#x5B57;&#x6BB5;&#x7528; <code>standard</code> &#x5206;&#x6790;&#x5668;&#xFF0C;&#x4F1A;&#x4FDD;&#x7559;&#x539F;&#x6587;&#x7684;&#x53D8;&#x97F3;&#x7B26;&#x53F7;.   </p>
<p> <img src="assets/2.png" alt="img">  &#x5728; <code>title.folded</code> &#x5B57;&#x6BB5;&#x7528; <code>folding</code> &#x5206;&#x6790;&#x5668;&#xFF0C;&#x4F1A;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;   </p>
</blockquote>
<p>&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>analyze</code> API &#x5206;&#x6790; <em>Esta est&#xE1; loca</em> (This woman is crazy)&#x8FD9;&#x4E2A;&#x53E5;&#x5B50;&#xFF0C;&#x6765;&#x9A8C;&#x8BC1;&#x5B57;&#x6BB5;&#x6620;&#x5C04;:</p>
<pre><code class="lang-js">GET /my_index/_analyze?field=title                &lt;<span class="hljs-number">1</span>&gt;
Esta est&#xE1; loca

GET /my_index/_analyze?field=title.folded         &lt;<span class="hljs-number">2</span>&gt;
Esta est&#xE1; loca
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143; <code>esta</code>, <code>est&#xE1;</code>, <code>loca</code>   </p>
<p> <img src="assets/2.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143; <code>esta</code>, <code>esta</code>, <code>loca</code>   </p>
</blockquote>
<p>&#x53EF;&#x4EE5;&#x7528;&#x66F4;&#x591A;&#x7684;&#x6587;&#x6863;&#x6765;&#x6D4B;&#x8BD5;:</p>
<pre><code class="lang-js">PUT /my_index/my_type/<span class="hljs-number">1</span>
{ <span class="hljs-string">&quot;title&quot;</span>: <span class="hljs-string">&quot;Esta loca!&quot;</span> }

PUT /my_index/my_type/<span class="hljs-number">2</span>
{ <span class="hljs-string">&quot;title&quot;</span>: <span class="hljs-string">&quot;Est&#xE1; loca!&quot;</span> }
</code></pre>
<p>&#x73B0;&#x5728;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x8054;&#x5408;&#x6240;&#x6709;&#x7684;&#x5B57;&#x6BB5;&#x6765;&#x641C;&#x7D22;&#x3002;&#x5728;<code>multi_match</code>&#x67E5;&#x8BE2;&#x4E2D;&#x901A;&#x8FC7; &lt;<most-fields,`most_fields`mode>&gt; &#x6A21;&#x5F0F;&#x6765;&#x8054;&#x5408;&#x6240;&#x6709;&#x5B57;&#x6BB5;&#x7684;&#x7ED3;&#x679C;:</most-fields,`most_fields`mode></p>
<pre><code class="lang-js">GET /my_index/_search
{
  <span class="hljs-string">&quot;query&quot;</span>: {
    <span class="hljs-string">&quot;multi_match&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;most_fields&quot;</span>,
      <span class="hljs-string">&quot;query&quot;</span>:    <span class="hljs-string">&quot;esta loca&quot;</span>,
      <span class="hljs-string">&quot;fields&quot;</span>: [ <span class="hljs-string">&quot;title&quot;</span>, <span class="hljs-string">&quot;title.folded&quot;</span> ]
    }
  }
}
</code></pre>
<p>&#x901A;&#x8FC7; <code>validate-query</code> API &#x6765;&#x6267;&#x884C;&#x8FD9;&#x4E2A;&#x67E5;&#x8BE2;&#x53EF;&#x4EE5;&#x5E2E;&#x52A9;&#x4F60;&#x7406;&#x89E3;&#x67E5;&#x8BE2;&#x662F;&#x5982;&#x4F55;&#x6267;&#x884C;&#x7684;:</p>
<pre><code class="lang-js">GET /my_index/_validate/query?explain
{
  <span class="hljs-string">&quot;query&quot;</span>: {
    <span class="hljs-string">&quot;multi_match&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;most_fields&quot;</span>,
      <span class="hljs-string">&quot;query&quot;</span>:    <span class="hljs-string">&quot;est&#xE1; loca&quot;</span>,
      <span class="hljs-string">&quot;fields&quot;</span>: [ <span class="hljs-string">&quot;title&quot;</span>, <span class="hljs-string">&quot;title.folded&quot;</span> ]
    }
  }
}
</code></pre>
<p><code>multi-match</code> &#x67E5;&#x8BE2;&#x4F1A;&#x641C;&#x7D22;&#x5728; <code>title</code> &#x5B57;&#x6BB5;&#x4E2D;&#x539F;&#x6587;&#x5F62;&#x5F0F;&#x7684;&#x5355;&#x8BCD; (<code>est&#xE1;</code>)&#xFF0C;&#x548C;&#x5728; <code>title.folded</code> &#x5B57;&#x6BB5;&#x4E2D;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x5F62;&#x5F0F;&#x7684;&#x5355;&#x8BCD; <code>esta</code>:</p>
<pre><code>(title:est&#xE1;        title:loca       )
(title.folded:esta title.folded:loca)
</code></pre><p>&#x65E0;&#x8BBA;&#x7528;&#x6237;&#x641C;&#x7D22;&#x7684;&#x662F; <code>esta</code> &#x8FD8;&#x662F; <code>est&#xE1;</code>; &#x4E24;&#x4E2A;&#x6587;&#x6863;&#x90FD;&#x4F1A;&#x88AB;&#x5339;&#x914D;&#xFF0C;&#x56E0;&#x4E3A;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x5F62;&#x5F0F;&#x7684;&#x5355;&#x8BCD;&#x5728; <code>title.folded</code>&#x5B57;&#x6BB5;&#x4E2D;&#x3002;&#x7136;&#x800C;&#xFF0C;&#x53EA;&#x6709;&#x539F;&#x6587;&#x5F62;&#x5F0F;&#x7684;&#x5355;&#x8BCD;&#x5728; <code>title</code> &#x5B57;&#x6BB5;&#x4E2D;&#x3002;&#x6B64;&#x989D;&#x5916;&#x5339;&#x914D;&#x4F1A;&#x628A;&#x5305;&#x542B;&#x539F;&#x6587;&#x5F62;&#x5F0F;&#x5355;&#x8BCD;&#x7684;&#x6587;&#x6863;&#x6392;&#x5728;&#x7ED3;&#x679C;&#x5217;&#x8868;&#x524D;&#x9762;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x7528; <code>title.folded</code> &#x5B57;&#x6BB5;&#x6765; <em>&#x6269;&#x5927;&#x6211;&#x4EEC;&#x7684;&#x7F51;</em> (<em>widen the net</em>)&#x6765;&#x5339;&#x914D;&#x66F4;&#x591A;&#x7684;&#x6587;&#x6863;&#xFF0C;&#x7136;&#x540E;&#x7528;&#x539F;&#x6587;&#x5F62;&#x5F0F;&#x7684; <code>title</code>&#x5B57;&#x6BB5;&#x6765;&#x628A;&#x5173;&#x8054;&#x5EA6;&#x6700;&#x9AD8;&#x7684;&#x6587;&#x6863;&#x6392;&#x5728;&#x6700;&#x524D;&#x9762;&#x3002;&#x5728;&#x53EF;&#x4EE5;&#x4E3A;&#x4E86;&#x5339;&#x914D;&#x6570;&#x91CF;&#x727A;&#x7272;&#x6587;&#x672C;&#x539F;&#x610F;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x8FD9;&#x4E2A;&#x6280;&#x672F;&#x53EF;&#x4EE5;&#x88AB;&#x7528;&#x5728;&#x4EFB;&#x4F55;&#x5206;&#x6790;&#x5668;&#x91CC;&#x3002;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  <code>asciifolding</code> &#x8FC7;&#x6EE4;&#x5668;&#x6709;&#x4E00;&#x4E2A;&#x53EB;&#x505A; <code>preserve_original</code> &#x7684;&#x9009;&#x9879;&#x53EF;&#x4EE5;&#x8BA9;&#x4F60;&#x8FD9;&#x6837;&#x6765;&#x505A;&#x7D22;&#x5F15; &#xFF0C;&#x628A;&#x8BCD;&#x7684;&#x539F;&#x6587;&#x8BCD;&#x5143;(original token)&#x548C;&#x5904;&#x7406;--&#x6298;&#x53E0;&#x540E;&#x7684;&#x8BCD;&#x5143;(folded token)&#x653E;&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x5B57;&#x6BB5;&#x7684;&#x540C;&#x4E00;&#x4E2A;&#x4F4D;&#x7F6E;&#x3002;&#x5F00;&#x542F;&#x4E86;&#x8FD9;&#x4E2A;&#x9009;&#x9879;&#xFF0C;&#x7ED3;&#x679C;&#x4F1A;&#x50CF;&#x8FD9;&#x6837;:   </p>
</blockquote>
<pre><code>Position 1     Position 2
--------------------------
(&#xE9;sta,esta)    loca
--------------------------
</code></pre><p>&#x867D;&#x7136;&#x8FD9;&#x4E2A;&#x662F;&#x8282;&#x7EA6;&#x7A7A;&#x95F4;&#x7684;&#x597D;&#x529E;&#x6CD5;&#xFF0C;&#x4F46;&#x662F;&#x4E5F;&#x610F;&#x5473;&#x7740;&#x6CA1;&#x6709;&#x529E;&#x6CD5;&#x518D;&#x8BF4;&#x201C;&#x7ED9;&#x6211;&#x7CBE;&#x786E;&#x5339;&#x914D;&#x7684;&#x539F;&#x6587;&#x8BCD;&#x5143;&#x201D;(Give me an exact match on the original word)&#x3002;&#x5305;&#x542B;&#x53BB;&#x6389;&#x548C;&#x4E0D;&#x53BB;&#x6389;&#x53D8;&#x97F3;&#x7B26;&#x53F7;&#x7684;&#x8BCD;&#x5143;&#xFF0C;&#x4F1A;&#x5BFC;&#x81F4;&#x4E0D;&#x53EF;&#x9760;&#x7684;&#x76F8;&#x5173;&#x6027;&#x8BC4;&#x5206;&#x3002;</p>
<p>&#x6240;&#x4EE5;&#xFF0C;&#x6B63;&#x5982;&#x6211;&#x4EEC;&#x8FD9;&#x4E00;&#x7AE0;&#x505A;&#x7684;&#xFF0C;&#x628A;&#x6BCF;&#x4E2A;&#x5B57;&#x6BB5;&#x7684;&#x4E0D;&#x540C;&#x5F62;&#x5F0F;&#x5206;&#x5F00;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x5B57;&#x6BB5;&#x4F1A;&#x8BA9;&#x7D22;&#x5F15;&#x66F4;&#x6E05;&#x6670;&#x3002;</p>
<h3 id="Unicode&#x7684;&#x4E16;&#x754C;"><a name="Unicode&#x7684;&#x4E16;&#x754C;" class="anchor-navigation-ex-anchor" href="#Unicode&#x7684;&#x4E16;&#x754C;"><i class="fa fa-link" aria-hidden="true"></i></a>Unicode&#x7684;&#x4E16;&#x754C;  </h3>
<p>&#x5F53;Elasticsearch&#x5728;&#x6BD4;&#x8F83;&#x8BCD;&#x5143;(token)&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5B83;&#x662F;&#x8FDB;&#x884C;&#x5B57;&#x8282;(byte)&#x7EA7;&#x522B;&#x7684;&#x6BD4;&#x8F83;&#x3002; &#x6362;&#x53E5;&#x8BDD;&#x8BF4;&#xFF0C;&#x5982;&#x679C;&#x4E24;&#x4E2A;&#x8BCD;&#x5143;(token)&#x88AB;&#x5224;&#x5B9A;&#x4E3A;&#x76F8;&#x540C;&#x7684;&#x8BDD;&#xFF0C;&#x4ED6;&#x4EEC;&#x5FC5;&#x987B;&#x662F;&#x76F8;&#x540C;&#x7684;&#x5B57;&#x8282;(byte)&#x7EC4;&#x6210;&#x7684;&#x3002;&#x7136;&#x800C;&#xFF0C;Unicode&#x5141;&#x8BB8;&#x4F60;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x5B57;&#x8282;&#x6765;&#x5199;&#x76F8;&#x540C;&#x7684;&#x5B57;&#x7B26;&#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF0C; <em>&#xE9;</em> &#x548C; <em>e&#x301;</em> &#x7684;&#x4E0D;&#x540C;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x8FD9;&#x53D6;&#x51B3;&#x4E8E;&#x4F60;&#x95EE;&#x8C01;&#x3002;&#x5BF9;&#x4E8E;Elasticsearch&#xFF0C;&#x7B2C;&#x4E00;&#x4E2A;&#x662F;&#x7531; <code>0xC3 0xA9</code> &#x8FD9;&#x4E24;&#x4E2A;&#x5B57;&#x8282;&#x7EC4;&#x6210;&#x7684;&#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x662F;&#x7531; <code>0x65 0xCC 0x81</code> &#x8FD9;&#x4E09;&#x4E2A;&#x5B57;&#x8282;&#x7EC4;&#x6210;&#x7684;&#x3002;</p>
<p>&#x5BF9;&#x4E8E;Unicode&#xFF0C;&#x4ED6;&#x4EEC;&#x7684;&#x5DEE;&#x5F02;&#x548C;&#x4ED6;&#x4EEC;&#x7684;&#x600E;&#x4E48;&#x7EC4;&#x6210;&#x6CA1;&#x6709;&#x5173;&#x7CFB;&#xFF0C;&#x6240;&#x4EE5;&#x4ED6;&#x4EEC;&#x662F;&#x76F8;&#x540C;&#x7684;&#x3002;&#x7B2C;&#x4E00;&#x4E2A;&#x662F;&#x5355;&#x4E2A;&#x5355;&#x8BCD; <code>&#xE9;</code> &#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x662F;&#x4E00;&#x4E2A;&#x7B80;&#x5355; <code>e</code> &#x548C;&#x91CD;&#x97F3;&#x7B26; +&#xB4;+&#x3002;</p>
<p>&#x5982;&#x679C;&#x4F60;&#x7684;&#x6570;&#x636E;&#x6709;&#x591A;&#x4E2A;&#x6765;&#x6E90;&#xFF0C;&#x5C31;&#x4F1A;&#x6709;&#x53EF;&#x80FD;&#x53D1;&#x751F;&#x8FD9;&#x79CD;&#x72B6;&#x51B5;&#xFF1A;&#x56E0;&#x4E3A;&#x76F8;&#x540C;&#x7684;&#x5355;&#x8BCD;&#x4F7F;&#x7528;&#x4E86;&#x4E0D;&#x540C;&#x7684;&#x7F16;&#x7801;&#xFF0C;&#x5BFC;&#x81F4;&#x4E00;&#x4E2A;&#x5F62;&#x5F0F;&#x7684; <code>d&#xE9;j&#xE0;</code> &#x4E0D;&#x80FD;&#x548C;&#x5B83;&#x7684;&#x5176;&#x4ED6;&#x5F62;&#x5F0F;&#x8FDB;&#x884C;&#x5339;&#x914D;&#x3002;</p>
<p>&#x5E78;&#x8FD0;&#x7684;&#x662F;&#xFF0C;&#x8FD9;&#x91CC;&#x5C31;&#x6709;&#x89E3;&#x51B3;&#x529E;&#x6CD5;&#x3002;&#x8FD9;&#x91CC;&#x6709;4&#x79CD;Unicode <em>&#x5F52;&#x4E00;&#x5316;&#x5F62;&#x5F0F;</em> (<em>normalization forms</em>) : <code>nfc</code>, <code>nfd</code>, <code>nfkc</code>, <code>nfkd</code>&#xFF0C;&#x5B83;&#x4EEC;&#x90FD;&#x628A;Unicode&#x5B57;&#x7B26;&#x8F6C;&#x6362;&#x6210;&#x5BF9;&#x5E94;&#x6807;&#x51C6;&#x683C;&#x5F0F;&#xFF0C;&#x628A;&#x6240;&#x6709;&#x7684;&#x5B57;&#x7B26; &#x8FDB;&#x884C;&#x5B57;&#x8282;(byte)&#x7EA7;&#x522B;&#x7684;&#x6BD4;&#x8F83;&#x3002;</p>
<hr>
<blockquote>
<p> <strong>Unicode&#x5F52;&#x4E00;&#x5316;&#x5F62;&#x5F0F; (Normalization Forms)</strong></p>
<pre><code>  _&#x7EC4;&#x5408;_ (_composed_) &#x6A21;&#x5F0F;&#x2014;`nfc` &#x548C; `nfkc`&#x2014;&#x7528;&#x5C3D;&#x53EF;&#x80FD;&#x5C11;&#x7684;&#x5B57;&#x8282;(byte)&#x6765;&#x4EE3;&#x8868;&#x5B57;&#x7B26;&#x3002; (((&quot;composed forms (Unicode normalization)&quot;))) &#x6240;&#x4EE5;&#x7528; `&#xE9;` &#x6765;&#x4EE3;&#x8868;&#x5355;&#x4E2A;&#x5B57;&#x6BCD; `&#xE9;` &#x3002;  _&#x5206;&#x89E3;_ &#xFF08;_decomposed_&#xFF09; &#x6A21;&#x5F0F;&#x2014;`nfd` and `nfkd`&#x2014;&#x7528;&#x5B57;&#x7B26;&#x7684;&#x6BCF;&#x4E00;&#x90E8;&#x5206;&#x6765;&#x4EE3;&#x8868;&#x5B57;&#x7B26;&#x3002;&#x6240;&#x4EE5; `&#xE9;` &#x5206;&#x89E3;&#x4E3A; `e` &#x548C; `&#xB4;`&#x3002; (((&quot;decomposed forms (Unicode normalization)&quot;)))
</code></pre><p> <em>&#x89C4;&#x8303;</em> (<em>canonical</em>) &#x6A21;&#x5F0F;&#x2014;<code>nfc</code> &#x548C; <code>nfd</code>&amp;&#x2014;&#x628A;&#x8FDE;&#x5B57;&#x4F5C;&#x4E3A;&#x5355;&#x4E2A;&#x5B57;&#x7B26;&#xFF0C;&#x4F8B;&#x5982; <code>&#xFB03;</code> &#x6216;&#x8005; <code>&#x153;</code> &#x3002; <em>&#x517C;&#x5BB9;</em>(<em>compatibility</em>) &#x6A21;&#x5F0F;&#x2014;<code>nfkc</code> &#x548C; <code>nfkd</code>&#x2014;&#x5C06;&#x8FD9;&#x4E9B;&#x7EC4;&#x5408;&#x7684;&#x5B57;&#x7B26;&#x5206;&#x89E3;&#x6210;&#x7B80;&#x5355;&#x5B57;&#x7B26;&#x7684;&#x7B49;&#x4EF7;&#x7269;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A; <code>f</code> + <code>f</code> + <code>i</code> &#x6216;&#x8005; <code>o</code> + <code>e</code>.  </p>
</blockquote>
<hr>
<p>&#x65E0;&#x8BBA;&#x4F60;&#x9009;&#x62E9;&#x54EA;&#x4E00;&#x4E2A;&#x5F52;&#x4E00;&#x5316;(normalization)&#x6A21;&#x5F0F;&#xFF0C;&#x53EA;&#x8981;&#x4F60;&#x7684;&#x6587;&#x672C;&#x53EA;&#x7528;&#x4E00;&#x79CD;&#x6A21;&#x5F0F;&#xFF0C;&#x90A3;&#x4F60;&#x7684;&#x540C;&#x4E00;&#x4E2A;&#x8BCD;&#x5143;(token)&#x5C31;&#x4F1A;&#x7531;&#x76F8;&#x540C;&#x7684;&#x5B57;&#x8282;(byte)&#x7EC4;&#x6210;&#x3002;&#x4F8B;&#x5982;&#xFF0C;<em>&#x517C;&#x5BB9;</em> (<em>compatibility</em>) &#x6A21;&#x5F0F; &#x53EF;&#x4EE5;&#x7528;&#x8FDE;&#x8BCD; <code>&#xFB03;</code> &#x7684;&#x7B80;&#x5316;&#x5F62;&#x5F0F; <code>ffi</code>&#x6765;&#x8FDB;&#x884C;&#x5BF9;&#x6BD4;&#x3002;</p>
<p>&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>icu_normalizer</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters) &#x6765;&#x4FDD;&#x8BC1;&#x4F60;&#x7684;&#x6240;&#x6709;&#x8BCD;&#x5143;(token)&#x662F;&#x76F8;&#x540C;&#x6A21;&#x5F0F;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;nfkc_normalizer&quot;</span>: {                       <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
          &quot;type&quot;: &quot;icu_normalizer&quot;,
          &quot;name&quot;: &quot;nfkc&quot;
        }
      },
      &quot;analyzer&quot;: {
        &quot;my_normalizer&quot;: {
          &quot;tokenizer&quot;: &quot;icu_tokenizer&quot;,
          &quot;filter&quot;:  [ &quot;nfkc_normalizer&quot; ]
        }
      }
    }
  }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x7528; <code>nfkc</code> &#x5F52;&#x4E00;&#x5316;(normalization)&#x6A21;&#x5F0F;&#x6765;&#x5F52;&#x4E00;&#x5316;(Normalize)&#x6240;&#x6709;&#x8BCD;&#x5143;(token).   </p>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x5305;&#x62EC;&#x521A;&#x624D;&#x63D0;&#x5230;&#x8FC7;&#x7684; <code>icu_normalizer</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#x5728;&#x5185;&#xFF0C;&#x8FD9;&#x91CC;&#x8FD8;&#x6709; <code>icu_normalizer</code> <em>&#x5B57;&#x7B26;</em> &#x8FC7;&#x6EE4;&#x5668;(<em>character</em> filters)&#x3002;&#x867D;&#x7136;&#x5B83;&#x548C;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x505A;&#x76F8;&#x540C;&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;&#x4F46;&#x662F;&#x4F1A;&#x5728;&#x6587;&#x672C;&#x5230;&#x8FBE;&#x8FC7;&#x6EE4;&#x5668;&#x4E4B;&#x524D;&#x505A;&#x3002;&#x5230;&#x5E95;&#x662F;&#x7528;<code>standard</code> &#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x8FD8;&#x662F; <code>icu_tokenizer</code> &#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x5176;&#x5B9E;&#x5E76;&#x4E0D;&#x91CD;&#x8981;&#x3002;&#x56E0;&#x4E3A;&#x8FC7;&#x6EE4;&#x5668;&#x77E5;&#x9053;&#x600E;&#x4E48;&#x6765;&#x6B63;&#x786E;&#x5904;&#x7406;&#x6240;&#x6709;&#x7684;&#x6A21;&#x5F0F;&#x3002;</p>
<p> &#x4F46;&#x662F;&#xFF0C;&#x5982;&#x679C;&#x4F60;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x5206;&#x8BCD;&#x5668;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A; <code>ngram</code>, <code>edge_ngram</code>, &#x6216;&#x8005; <code>pattern</code> &#x5206;&#x8BCD;&#x5668;&#xFF0C;&#x90A3;&#x4E48;&#x5728;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#x4E4B;&#x524D;&#x4F7F;&#x7528; <code>icu_normalizer</code> &#x5B57;&#x7B26;&#x8FC7;&#x6EE4;&#x5668;&#x5C31;&#x53D8;&#x5F97;&#x6709;&#x610F;&#x4E49;&#x4E86;&#x3002;  </p>
</blockquote>
<p>&#x901A;&#x5E38;&#x6765;&#x8BF4;&#xFF0C;&#x4F60;&#x4E0D;&#x4EC5;&#x4EC5;&#x60F3;&#x8981;&#x5F52;&#x4E00;&#x5316;(normalize)&#x8BCD;&#x5143;(token)&#x7684;&#x5B57;&#x8282;(byte)&#x89C4;&#x5219;&#xFF0C;&#x8FD8;&#x9700;&#x8981;&#x628A;&#x4ED6;&#x4EEC;&#x8F6C;&#x6210;&#x5C0F;&#x5199;&#x5B57;&#x6BCD;&#x3002;&#x8FD9;&#x4E2A;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>icu_normalizer</code> &#x548C;&#x5B9A;&#x5236;&#x7684;&#x5F52;&#x4E00;&#x5316;(normalization)&#x7684;&#x6A21;&#x5F0F; <code>nfkc_cf</code> &#x6765;&#x5B9E;&#x73B0;&#x3002;&#x4E0B;&#x4E00;&#x8282;&#x6211;&#x4EEC;&#x4F1A;&#x5177;&#x4F53;&#x8BB2;&#x8FD9;&#x4E2A;&#x3002;</p>
<h3 id="Unicode&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;"><a name="Unicode&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;" class="anchor-navigation-ex-anchor" href="#Unicode&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;"><i class="fa fa-link" aria-hidden="true"></i></a>Unicode &#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;  </h3>
<p>&#x4EBA;&#x7C7B;&#x6CA1;&#x6709;&#x521B;&#x9020;&#x529B;&#x7684;&#x8BDD;&#x5C31;&#x4E0D;&#x4F1A;&#x662F;&#x4EBA;&#x7C7B;&#xFF0C; &#x800C;&#x4EBA;&#x7C7B;&#x7684;&#x8BED;&#x8A00;&#x5C31;&#x6070;&#x6070;&#x53CD;&#x6620;&#x4E86;&#x8FD9;&#x4E00;&#x70B9;&#x3002;</p>
<p>&#x5904;&#x7406;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#x7684;&#x5927;&#x5C0F;&#x5199;&#x770B;&#x8D77;&#x6765;&#x662F;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x9664;&#x975E;&#x9047;&#x5230;&#x9700;&#x8981;&#x5904;&#x7406;&#x591A;&#x8BED;&#x8A00;&#x7684;&#x60C5;&#x51B5;&#x3002;</p>
<p>&#x90A3;&#x5C31;&#x4E3E;&#x4E00;&#x4E2A;&#x4F8B;&#x5B50;&#xFF1A;&#x8F6C;&#x6362;&#x5C0F;&#x5199;&#x5FB7;&#x56FD;&#x5355;&#x8BCD; <code>&#xDF;</code>&#x3002;&#x628A;&#x5B83;&#x8F6C;&#x6362;&#x6210;&#x5927;&#x5199;&#x662F; <code>SS</code>&#xFF0C;&#x7136;&#x540E;&#x5728;&#x8F6C;&#x6362;&#x6210;&#x5C0F;&#x5199;&#x5C31;&#x6210;&#x4E86; <code>ss</code>&#x3002;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;&#x4F8B;&#x5B50;&#xFF1A;&#x8F6C;&#x6362;&#x5E0C;&#x814A;&#x5B57;&#x6BCD; <code>&#x3C2;</code> (sigma, &#x5728;&#x5355;&#x8BCD;&#x672B;&#x5C3E;&#x4F7F;&#x7528;)&#x3002;&#x628A;&#x5B83;&#x8F6C;&#x6362;&#x6210;&#x5927;&#x5199;&#x662F; <code>&#x3A3;</code>&#xFF0C;&#x7136;&#x540E;&#x518D;&#x8F6C;&#x6362;&#x6210;&#x5C0F;&#x5199;&#x5C31;&#x6210;&#x4E86; <code>&#x3C3;</code>&#x3002;</p>
<p>&#x628A;&#x8BCD;&#x6761;&#x5C0F;&#x5199;&#x7684;&#x6838;&#x5FC3;&#x662F;&#x8BA9;&#x4ED6;&#x4EEC;&#x770B;&#x8D77;&#x6765;&#x66F4;&#x50CF;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x66F4;&#x4E0D;&#x50CF;&#x3002;&#x5728;Unicode&#x4E2D;&#xFF0C;&#x8FD9;&#x4E2A;&#x5DE5;&#x4F5C;&#x662F;&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;(case folding)&#x6765;&#x5B8C;&#x6210;&#x7684;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x5C0F;&#x5199;&#x5316;(lowercasing)&#x3002; <em>&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;_ (_Case folding</em>) &#x628A;&#x5355;&#x8BCD;&#x8F6C;&#x6362;&#x5230;&#x4E00;&#x79CD;(&#x901A;&#x5E38;&#x662F;&#x5C0F;&#x5199;)&#x5F62;&#x5F0F;&#xFF0C;&#x662F;&#x8BA9;&#x5199;&#x6CD5;&#x4E0D;&#x4F1A;&#x5F71;&#x54CD;&#x5355;&#x8BCD;&#x7684;&#x6BD4;&#x8F83;&#xFF0C;&#x6240;&#x4EE5;&#x62FC;&#x5199;&#x4E0D;&#x9700;&#x8981;&#x5B8C;&#x5168;&#x6B63;&#x786E;&#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF1A;&#x5355;&#x8BCD; <code>&#xDF;</code>&#xFF0C;&#x5DF2;&#x7ECF;&#x662F;&#x5C0F;&#x5199;&#x5F62;&#x5F0F;&#x4E86;&#xFF0C;&#x4F1A;&#x88AB;<em>&#x6298;&#x53E0;</em>(<em>folded</em>)&#x6210; <code>ss</code>&#x3002;&#x7C7B;&#x4F3C;&#x7684;&#x5C0F;&#x5199;&#x7684; <code>&#x3C2;</code> &#x88AB;&#x6298;&#x53E0;&#x6210; <code>&#x3C3;</code>&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x8BDD;&#xFF0C;&#x65E0;&#x8BBA; <code>&#x3C3;</code>&#xFF0C; <code>&#x3C2;</code>&#xFF0C; &#x548C; <code>&#x3A3;</code>&#x51FA;&#x73B0;&#x5728;&#x54EA;&#x91CC;&#xFF0C; &#x4ED6;&#x4EEC;&#x5C31;&#x90FD;&#x53EF;&#x4EE5;&#x6BD4;&#x8F83;&#x4E86;&#x3002;</p>
<pre><code>`icu_normalizer` &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x9ED8;&#x8BA4;&#x7684;&#x5F52;&#x4E00;&#x5316;(normalization)&#x6A21;&#x5F0F;&#x662F; `nfkc_cf`&#x3002;&#x5B83;&#x50CF; `nfkc` &#x6A21;&#x5F0F;&#x4E00;&#x6837;&#xFF1A;
</code></pre><ul>
<li><em>&#x7EC4;&#x5408;</em> (<em>Composes</em>) &#x5B57;&#x7B26;&#x7528;&#x6700;&#x77ED;&#x7684;&#x5B57;&#x8282;&#x6765;&#x8868;&#x793A;&#x3002;</li>
<li>&#x7528; <em>&#x517C;&#x5BB9;</em> (<em>compatibility</em>&#xFF09;&#x6A21;&#x5F0F;&#xFF0C;&#x628A;&#x50CF; <code>&#xFB03;</code> &#x7684;&#x5B57;&#x7B26;&#x8F6C;&#x6362;&#x6210;&#x7B80;&#x5355;&#x7684; <code>ffi</code></li>
</ul>
<p>&#x4F46;&#x662F;&#xFF0C;&#x4E5F;&#x4F1A;&#x8FD9;&#x6837;&#x505A;&#xFF1A;</p>
<ul>
<li><em>&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;_ (_Case-folds</em>) &#x5B57;&#x7B26;&#x6210;&#x4E00;&#x79CD;&#x9002;&#x5408;&#x6BD4;&#x8F83;&#x7684;&#x5F62;&#x5F0F;</li>
</ul>
<p>&#x6362;&#x53E5;&#x8BDD;&#x8BF4;&#xFF0C; <code>nfkc_cf</code>&#x7B49;&#x4EF7;&#x4E8E; <code>lowercase</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#xFF0C;&#x4F46;&#x662F;&#x5374;&#x9002;&#x7528;&#x4E8E;&#x6240;&#x6709;&#x7684;&#x8BED;&#x8A00;&#x3002; <em>on-steroids</em> &#x7B49;&#x4EF7;&#x4E8E; <code>standard</code> &#x5206;&#x6790;&#x5668;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;my_lowercaser&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;icu_tokenizer&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>:  [ <span class="hljs-string">&quot;icu_normalizer&quot;</span> ]      &lt;<span class="hljs-number">1</span>&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>icu_normalizer</code> &#x9ED8;&#x8BA4;&#x662F; <code>nfkc_cf</code> &#x6A21;&#x5F0F;.   </p>
</blockquote>
<p>&#x6211;&#x4EEC;&#x6765;&#x6BD4;&#x8F83; <code>Wei&#xDF;kopfseeadler</code>&#x548C; <code>WEISSKOPFSEEADLER</code>(&#x5927;&#x5199;&#x5F62;&#x5F0F;) &#x5206;&#x522B;&#x901A;&#x8FC7; <code>standard</code>&#x5206;&#x6790;&#x5668;&#x548C;&#x6211;&#x4EEC;&#x7684;Unicode&#x81EA;&#x8BC6;&#x522B;(Unicode-aware)&#x5206;&#x6790;&#x5668;&#x5904;&#x7406;&#x5F97;&#x5230;&#x7684;&#x7ED3;&#x679C;&#xFF1A;</p>
<pre><code class="lang-js">GET /_analyze?analyzer=standard                     &lt;<span class="hljs-number">1</span>&gt;
Wei&#xDF;kopfseeadler WEISSKOPFSEEADLER

GET /my_index/_analyze?analyzer=my_lowercaser       &lt;<span class="hljs-number">2</span>&gt;
Wei&#xDF;kopfseeadler WEISSKOPFSEEADLER
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143;(token)&#x662F; <code>wei&#xDF;kopfseeadler</code>, <code>weisskopfseeadler</code>    </p>
<p> <img src="assets/2.png" alt="img">  &#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5143;(token)&#x662F; <code>weisskopfseeadler</code>, <code>weisskopfseeadler```standard</code>&#x5206;&#x6790;&#x5668;&#x5F97;&#x5230;&#x4E86;&#x4E24;&#x4E2A;&#x4E0D;&#x540C;&#x4E14;&#x4E0D;&#x53EF;&#x6BD4;&#x8F83;&#x7684;&#x8BCD;&#x5143;(token)&#xFF0C;&#x800C;&#x6211;&#x4EEC;&#x5B9A;&#x5236;&#x5316;&#x7684;&#x5206;&#x6790;&#x5668;&#x5F97;&#x5230;&#x4E86;&#x4E24;&#x4E2A;&#x76F8;&#x540C;&#x4F46;&#x662F;&#x4E0D;&#x7B26;&#x5408;&#x539F;&#x610F;&#x7684;&#x8BCD;&#x5143;(token)&#x3002;`     </p>
</blockquote>
<h3 id="Unicode&#x5B57;&#x7B26;&#x6298;&#x53E0;"><a name="Unicode&#x5B57;&#x7B26;&#x6298;&#x53E0;" class="anchor-navigation-ex-anchor" href="#Unicode&#x5B57;&#x7B26;&#x6298;&#x53E0;"><i class="fa fa-link" aria-hidden="true"></i></a>Unicode &#x5B57;&#x7B26;&#x6298;&#x53E0;  </h3>
<pre><code>&#x5728;&#x591A;&#x8BED;&#x8A00;(((&quot;Unicode&quot;, &quot;character folding&quot;)))(((&quot;tokens&quot;, &quot;normalizing&quot;, &quot;Unicode character folding&quot;)))&#x5904;&#x7406;&#x4E2D;&#xFF0C;`lowercase` &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#x662F;&#x4E00;&#x4E2A;&#x5F88;&#x597D;&#x7684;&#x5F00;&#x59CB;&#x3002;&#x4F46;&#x662F;&#x4F5C;&#x4E3A;&#x5BF9;&#x6BD4;&#x7684;&#x8BDD;&#xFF0C;&#x4E5F;&#x53EA;&#x662F;&#x5BF9;&#x4E8E;&#x6574;&#x4E2A;&#x5DF4;&#x522B;&#x5854;&#x7684;&#x60CA;&#x9E3F;&#x4E00;&#x77A5;&#x3002;&#x6240;&#x4EE5; &lt;&lt;asciifolding-token-filter,`asciifolding` token filter&gt;&gt; &#x9700;&#x8981;&#x66F4;&#x6709;&#x6548;&#x7684;Unicode _&#x5B57;&#x7B26;&#x6298;&#x53E0;_ (_character-folding_)&#x5DE5;&#x5177;&#x6765;&#x5904;&#x7406;&#x5168;&#x4E16;&#x754C;&#x7684;&#x5404;&#x79CD;&#x8BED;&#x8A00;&#x3002;(((&quot;asciifolding token filter&quot;)))
`icu_folding` &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters) (provided by the &lt;&lt;icu-plugin,`icu` plug-in&gt;&gt;)&#x7684;&#x529F;&#x80FD;&#x548C; `asciifolding` &#x8FC7;&#x6EE4;&#x5668;&#x4E00;&#x6837;&#xFF0C; (((&quot;icu_folding token filter&quot;)))&#x4F46;&#x662F;&#x5B83;&#x6269;&#x5C55;&#x5230;&#x4E86;&#x975E;ASCII&#x7F16;&#x7801;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;&#x5E0C;&#x814A;&#x8BED;&#xFF0C;&#x5E0C;&#x4F2F;&#x6765;&#x8BED;&#xFF0C;&#x6C49;&#x8BED;&#x3002;&#x5B83;&#x628A;&#x8FD9;&#x4E9B;&#x8BED;&#x8A00;&#x90FD;&#x8F6C;&#x6362;&#x5BF9;&#x5E94;&#x62C9;&#x4E01;&#x6587;&#x5B57;&#xFF0C;&#x751A;&#x81F3;&#x5305;&#x542B;&#x5B83;&#x4EEC;&#x7684;&#x5404;&#x79CD;&#x5404;&#x6837;&#x7684;&#x8BA1;&#x6570;&#x7B26;&#x53F7;&#xFF0C;&#x8C61;&#x5F62;&#x7B26;&#x53F7;&#x548C;&#x6807;&#x70B9;&#x7B26;&#x53F7;&#x3002;
`icu_folding` &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#x81EA;&#x52A8;&#x4F7F;&#x7528; `nfkc_cf` &#x6A21;&#x5F0F;&#x6765;&#x8FDB;&#x884C;&#x5927;&#x5C0F;&#x5199;&#x6298;&#x53E0;&#x548C;Unicode&#x5F52;&#x4E00;&#x5316;(normalization)&#xFF0C;&#x6240;&#x4EE5;&#x4E0D;&#x9700;&#x8981;&#x4F7F;&#x7528; `icu_normalizer` &#xFF1A;
PUT /my_index
{
  &quot;settings&quot;: {
    &quot;analysis&quot;: {
      &quot;analyzer&quot;: {
        &quot;my_folder&quot;: {
          &quot;tokenizer&quot;: &quot;icu_tokenizer&quot;,
          &quot;filter&quot;:  [ &quot;icu_folding&quot; ]
        }
      }
    }
  }
}

GET /my_index/_analyze?analyzer=my_folder
&#x661;&#x662;&#x663;&#x664;&#x665;                                              &lt;1&gt;
</code></pre><blockquote>
<p> <img src="assets/1.png" alt="img">  &#x963F;&#x62C9;&#x4F2F;&#x6570;&#x5B57; <code>&#x661;&#x662;&#x663;&#x664;&#x665;</code> &#x88AB;&#x6298;&#x53E0;&#x6210;&#x7B49;&#x4EF7;&#x7684;&#x62C9;&#x4E01;&#x6570;&#x5B57;: <code>12345</code>.   </p>
</blockquote>
<p>&#x5982;&#x679C;&#x4F60;&#x6709;&#x6307;&#x5B9A;&#x7684;&#x5B57;&#x7B26;&#x4E0D;&#x60F3;&#x88AB;&#x6298;&#x53E0;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <a href="http://icu-project.org/apiref/icu4j/com/ibm/icu/text/UnicodeSet.html" target="_blank"><em>UnicodeSet</em></a>(&#x50CF;&#x5B57;&#x7B26;&#x7684;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;) &#x6765;&#x6307;&#x5B9A;&#x54EA;&#x4E9B;Unicode&#x624D;&#x53EF;&#x4EE5;&#x88AB;&#x6298;&#x53E0;&#x3002;&#x4F8B;&#x5982;&#xFF1A;&#x745E;&#x5178;&#x5355;&#x8BCD; <code>&#xE5;</code>,<code>&#xE4;</code>, <code>&#xF6;</code>, <code>&#xC5;</code>, <code>&#xC4;</code>, &#x548C; <code>&#xD6;</code> &#x4E0D;&#x80FD;&#x88AB;&#x6298;&#x53E0;&#xFF0C;&#x4F60;&#x5C31;&#x53EF;&#x4EE5;&#x8BBE;&#x5B9A;&#x4E3A;&#xFF1A; <code>[^&#xE5;&#xE4;&#xF6;&#xC5;&#xC4;&#xD6;]</code> (<code>^</code> &#x8868;&#x793A; <em>&#x4E0D;&#x5305;&#x542B;</em>)&#x3002;&#x8FD9;&#x6837;&#x5C31;&#x4F1A;&#x5BF9;&#x4E8E;&#x6240;&#x6709;&#x7684;Unicode&#x5B57;&#x7B26;&#x751F;&#x6548;&#x3002;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;swedish_folding&quot;</span>: {                                  &lt;1&gt;
          &quot;type&quot;: &quot;icu_folding&quot;,
          &quot;unicodeSetFilter&quot;: &quot;[^&#xE5;&#xE4;&#xF6;&#xC5;&#xC4;&#xD6;]&quot;
        }
      },
      &quot;analyzer&quot;: {
        &quot;swedish_analyzer&quot;: {                                  &lt;2&gt;
          &quot;tokenizer&quot;: &quot;icu_tokenizer&quot;,
          &quot;filter&quot;:  [ &quot;swedish_folding&quot;, &quot;lowercase&quot; ]
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">   <code>swedish_folding</code>&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters) &#x5B9A;&#x5236;&#x4E86; <code>icu_folding</code>&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;(token filters)&#x6765;&#x4E0D;&#x5904;&#x7406;&#x90A3;&#x4E9B;&#x5927;&#x5199;&#x548C;&#x5C0F;&#x5199;&#x7684;&#x745E;&#x5178;&#x5355;&#x8BCD;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <code>swedish</code> &#x5206;&#x6790;&#x5668;&#x9996;&#x5148;&#x5206;&#x8BCD;&#xFF0C;&#x7136;&#x540E;&#x7528;<code>swedish_folding</code>&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x6765;&#x6298;&#x53E0;&#x5355;&#x8BCD;&#xFF0C;&#x6700;&#x540E;&#x628A;&#x4ED6;&#x4EEC;&#x8D70;&#x8F6C;&#x6362;&#x4E3A;&#x5C0F;&#x5199;&#xFF0C;&#x9664;&#x4E86;&#x88AB;&#x6392;&#x9664;&#x5728;&#x5916;&#x7684;&#x5355;&#x8BCD;&#xFF1A; ++&#xC5;++, <code>&#xC4;</code>, &#x6216;&#x8005; <code>&#xD6;</code>&#x3002;  </p>
</blockquote>
<h3 id="&#x6392;&#x5E8F;&#x548C;&#x6574;&#x7406;"><a name="&#x6392;&#x5E8F;&#x548C;&#x6574;&#x7406;" class="anchor-navigation-ex-anchor" href="#&#x6392;&#x5E8F;&#x548C;&#x6574;&#x7406;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6392;&#x5E8F;&#x548C;&#x6574;&#x7406;</h3>
<p>&#x672C;&#x7AE0;&#x5230;&#x76EE;&#x524D;&#x4E3A;&#x6B62;&#xFF0C;&#x6211;&#x4EEC;&#x5DF2;&#x7ECF;&#x4E86;&#x89E3;&#x4E86;&#x600E;&#x4E48;&#x4EE5;&#x641C;&#x7D22;&#x4E3A;&#x76EE;&#x7684;&#x53BB;&#x89C4;&#x8303;&#x5316;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x3002; &#x672C;&#x7AE0;&#x8282;&#x4E2D;&#x8981;&#x8003;&#x8651;&#x7684;&#x6700;&#x7EC8;&#x7528;&#x4F8B;&#x662F;&#x5B57;&#x7B26;&#x4E32;&#x6392;&#x5E8F;&#x3002;</p>
<p>&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/multi-fields.html" target="_blank">&#x5B57;&#x7B26;&#x4E32;&#x6392;&#x5E8F;&#x4E0E;&#x591A;&#x5B57;&#x6BB5;</a> &#xFF08;&#x590D;&#x6570;&#x57DF;&#xFF09;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x89E3;&#x91CA;&#x4E86; Elasticsearch &#x4E3A;&#x4EC0;&#x4E48;&#x4E0D;&#x80FD;&#x5728; <code>analyzed</code> &#xFF08;&#x5206;&#x6790;&#x8FC7;&#xFF09;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x4E0A;&#x6392;&#x5E8F;&#xFF0C;&#x5E76;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x4E3A;&#x540C;&#x4E00;&#x4E2A;&#x57DF;&#x521B;&#x5EFA; <em>&#x590D;&#x6570;&#x57DF;&#x7D22;&#x5F15;</em> &#xFF0C;&#x5176;&#x4E2D; <code>analyzed</code> &#x57DF;&#x7528;&#x6765;&#x641C;&#x7D22;&#xFF0C; <code>not_analyzed</code> &#x57DF;&#x7528;&#x6765;&#x6392;&#x5E8F;&#x3002;</p>
<p><code>analyzed</code> &#x57DF;&#x65E0;&#x6CD5;&#x6392;&#x5E8F;&#x5E76;&#x4E0D;&#x662F;&#x56E0;&#x4E3A;&#x4F7F;&#x7528;&#x4E86;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x800C;&#x662F;&#x56E0;&#x4E3A;&#x5206;&#x6790;&#x5668;&#x5C06;&#x5B57;&#x7B26;&#x4E32;&#x62C6;&#x5206;&#x6210;&#x4E86;&#x5F88;&#x591A;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#xFF0C;&#x5C31;&#x50CF;&#x4E00;&#x4E2A; <em>&#x8BCD;&#x6C47;&#x888B;</em> &#xFF0C;&#x6240;&#x4EE5; Elasticsearch &#x4E0D;&#x77E5;&#x9053;&#x4F7F;&#x7528;&#x90A3;&#x4E00;&#x4E2A;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x6392;&#x5E8F;&#x3002;</p>
<p>&#x4F9D;&#x8D56;&#x4E8E; <code>not_analyzed</code> &#x57DF;&#x6765;&#x6392;&#x5E8F;&#x7684;&#x8BDD;&#x4E0D;&#x662F;&#x5F88;&#x7075;&#x6D3B;&#xFF1A;&#x8FD9;&#x4EC5;&#x4EC5;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x539F;&#x59CB;&#x5B57;&#x7B26;&#x4E32;&#x8FD9;&#x4E00;&#x786E;&#x5B9A;&#x7684;&#x503C;&#x6392;&#x5E8F;&#x3002;&#x7136;&#x800C;&#x6211;&#x4EEC; <em>&#x53EF;&#x4EE5;</em> &#x4F7F;&#x7528;&#x5206;&#x6790;&#x5668;&#x6765;&#x5B9E;&#x73B0;&#x53E6;&#x5916;&#x4E00;&#x79CD;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#xFF0C;&#x53EA;&#x8981;&#x4F60;&#x9009;&#x62E9;&#x7684;&#x5206;&#x6790;&#x5668;&#x603B;&#x662F;&#x4E3A;&#x6BCF;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#x8F93;&#x51FA;&#x6709;&#x4E14;&#x4EC5;&#x6709;&#x4E00;&#x4E2A;&#x7684;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x3002;</p>
<p><strong>&#x5927;&#x5C0F;&#x5199;&#x654F;&#x611F;&#x6392;&#x5E8F;</strong></p>
<p>&#x60F3;&#x8C61;&#x4E0B;&#x6211;&#x4EEC;&#x6709;&#x4E09;&#x4E2A; <code>&#x7528;&#x6237;</code> &#x6587;&#x6863;&#xFF0C;&#x6587;&#x6863;&#x7684; <code>&#x59D3;&#x540D;</code> &#x57DF;&#x5206;&#x522B;&#x542B;&#x6709; <code>Boffey</code> &#x3001; <code>BROWN</code> &#x548C; <code>bailey</code> &#x3002;&#x9996;&#x5148;&#x6211;&#x4EEC;&#x5C06;&#x4F7F;&#x7528;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/multi-fields.html" target="_blank">&#x5B57;&#x7B26;&#x4E32;&#x6392;&#x5E8F;&#x4E0E;&#x591A;&#x5B57;&#x6BB5;</a> &#x4E2D;&#x63D0;&#x5230;&#x7684;&#x6280;&#x672F;&#xFF0C;&#x4F7F;&#x7528; <code>not_analyzed</code> &#x57DF;&#x6765;&#x6392;&#x5E8F;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;user&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;name&quot;</span>: {                           &lt;1&gt;
          &quot;type&quot;: &quot;string&quot;,
          &quot;fields&quot;: {
            &quot;raw&quot;: {                        &lt;2&gt;
              &quot;type&quot;:  &quot;string&quot;,
              &quot;index&quot;: &quot;not_analyzed&quot;
            }
          }
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>analyzed</code> <code>name</code> &#x57DF;&#x7528;&#x6765;&#x641C;&#x7D22;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <code>not_analyzed</code> <code>name.raw</code> &#x57DF;&#x7528;&#x6765;&#x6392;&#x5E8F;&#x3002;   </p>
</blockquote>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7D22;&#x5F15;&#x4E00;&#x4E9B;&#x6587;&#x6863;&#x7528;&#x6765;&#x6D4B;&#x8BD5;&#x6392;&#x5E8F;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/user/<span class="hljs-number">1</span>
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;Boffey&quot;</span> }

PUT /my_index/user/<span class="hljs-number">2</span>
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;BROWN&quot;</span> }

PUT /my_index/user/<span class="hljs-number">3</span>
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;bailey&quot;</span> }

GET /my_index/user/_search?sort=name.raw
</code></pre>
<p>&#x8FD0;&#x884C;&#x8FD9;&#x4E2A;&#x641C;&#x7D22;&#x8BF7;&#x6C42;&#x5C06;&#x4F1A;&#x8FD4;&#x56DE;&#x8FD9;&#x6837;&#x7684;&#x6587;&#x6863;&#x6392;&#x5E8F;&#xFF1A; <code>BROWN</code> &#x3001; <code>Boffey</code> &#x3001; <code>bailey</code> &#x3002; &#x8FD9;&#x4E2A;&#x662F; <em>&#x8BCD;&#x5178;&#x6392;&#x5E8F;</em> &#x8DDF; <em>&#x5B57;&#x7B26;&#x4E32;&#x6392;&#x5E8F;</em> &#x76F8;&#x53CD;&#x3002;&#x57FA;&#x672C;&#x4E0A;&#x5C31;&#x662F;&#x5927;&#x5199;&#x5B57;&#x6BCD;&#x5F00;&#x5934;&#x7684;&#x5B57;&#x8282;&#x8981;&#x6BD4;&#x5C0F;&#x5199;&#x5B57;&#x6BCD;&#x5F00;&#x5934;&#x7684;&#x5B57;&#x8282;&#x6743;&#x91CD;&#x4F4E;&#xFF0C;&#x6240;&#x4EE5;&#x8FD9;&#x4E9B;&#x59D3;&#x540D;&#x662F;&#x6309;&#x7167;&#x6700;&#x4F4E;&#x503C;&#x4F18;&#x5148;&#x6392;&#x5E8F;&#x3002;</p>
<p>&#x8FD9;&#x53EF;&#x80FD;&#x5BF9;&#x8BA1;&#x7B97;&#x673A;&#x662F;&#x5408;&#x7406;&#x7684;&#xFF0C;&#x4F46;&#x662F;&#x5BF9;&#x4EBA;&#x6765;&#x8BF4;&#x5E76;&#x4E0D;&#x662F;&#x90A3;&#x4E48;&#x5408;&#x7406;&#xFF0C;&#x4EBA;&#x4EEC;&#x66F4;&#x671F;&#x671B;&#x8FD9;&#x4E9B;&#x59D3;&#x540D;&#x6309;&#x7167;&#x5B57;&#x6BCD;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#xFF0C;&#x5FFD;&#x7565;&#x5927;&#x5C0F;&#x5199;&#x3002;&#x4E3A;&#x4E86;&#x5B9E;&#x73B0;&#x8FD9;&#x4E2A;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x628A;&#x6BCF;&#x4E2A;&#x59D3;&#x540D;&#x6309;&#x7167;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x7684;&#x6392;&#x5E8F;&#x7684;&#x987A;&#x5E8F;&#x7D22;&#x5F15;&#x3002;</p>
<p>&#x6362;&#x53E5;&#x8BDD;&#x6765;&#x8BF4;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E00;&#x4E2A;&#x80FD;&#x8F93;&#x51FA;&#x5355;&#x4E2A;&#x5C0F;&#x5199;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x7684;&#x5206;&#x6790;&#x5668;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;case_insensitive_sort&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;keyword&quot;</span>,          &lt;1&gt;
          &quot;filter&quot;:  [ &quot;lowercase&quot; ]       &lt;2&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>keyword</code> &#x5206;&#x8BCD;&#x5668;&#x5C06;&#x8F93;&#x5165;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x539F;&#x5C01;&#x4E0D;&#x52A8;&#x7684;&#x8F93;&#x51FA;&#x3002;  </p>
<p> <img src="assets/2.png" alt="img">   <code>lowercase</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x5C06;&#x8BCD;&#x6C47;&#x5355;&#x5143;&#x8F6C;&#x5316;&#x4E3A;&#x5C0F;&#x5199;&#x5B57;&#x6BCD;&#x3002;   </p>
</blockquote>
<p>&#x4F7F;&#x7528; <code>&#x5927;&#x5C0F;&#x5199;&#x4E0D;&#x654F;&#x611F;&#x6392;&#x5E8F;</code> &#x5206;&#x6790;&#x5668;&#x66FF;&#x6362;&#x540E;&#xFF0C;&#x73B0;&#x5728;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5C06;&#x5176;&#x7528;&#x5728;&#x6211;&#x4EEC;&#x7684;&#x590D;&#x6570;&#x57DF;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/_mapping/user
{
  <span class="hljs-string">&quot;properties&quot;</span>: {
    <span class="hljs-string">&quot;name&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
      <span class="hljs-string">&quot;fields&quot;</span>: {
        <span class="hljs-string">&quot;lower_case_sort&quot;</span>: {                    <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
          &quot;type&quot;:     &quot;string&quot;,
          &quot;analyzer&quot;: &quot;case_insensitive_sort&quot;
        }
      }
    }
  }
}

PUT /my_index/user/1
{ &quot;name&quot;: &quot;Boffey&quot; }

PUT /my_index/user/2
{ &quot;name&quot;: &quot;BROWN&quot; }

PUT /my_index/user/3
{ &quot;name&quot;: &quot;bailey&quot; }

GET /my_index/user/_search?sort=name.lower_case_sort
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>name.lower_case_sort</code> &#x57DF;&#x5C06;&#x4F1A;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x5927;&#x5C0F;&#x5199;&#x4E0D;&#x654F;&#x611F;&#x6392;&#x5E8F;&#x3002;   </p>
</blockquote>
<p>&#x8FD0;&#x884C;&#x8FD9;&#x4E2A;&#x641C;&#x7D22;&#x8BF7;&#x6C42;&#x4F1A;&#x5F97;&#x5230;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x7684;&#x6587;&#x6863;&#x6392;&#x5E8F;&#xFF1A; <code>bailey</code> &#x3001; <code>Boffey</code> &#x3001; <code>BROWN</code> &#x3002;</p>
<p>&#x4F46;&#x662F;&#x8FD9;&#x4E2A;&#x987A;&#x5E8F;&#x662F;&#x6B63;&#x786E;&#x7684;&#x4E48;&#xFF1F;&#x5B83;&#x7B26;&#x5408;&#x6211;&#x95E8;&#x7684;&#x671F;&#x671B;&#x6240;&#x4EE5;&#x770B;&#x8D77;&#x6765;&#x50CF;&#x662F;&#x6B63;&#x786E;&#x7684;&#xFF0C; &#x4F46;&#x6211;&#x4EEC;&#x7684;&#x671F;&#x671B;&#x53EF;&#x80FD;&#x53D7;&#x5230;&#x8FD9;&#x4E2A;&#x4E8B;&#x5B9E;&#x7684;&#x5F71;&#x54CD;&#xFF1A;&#x8FD9;&#x672C;&#x4E66;&#x662F;&#x82F1;&#x6587;&#x7684;&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#x4F7F;&#x7528;&#x7684;&#x6240;&#x6709;&#x5B57;&#x6BCD;&#x90FD;&#x5C5E;&#x4E8E;&#x5230;&#x82F1;&#x8BED;&#x5B57;&#x6BCD;&#x8868;&#x3002;</p>
<p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x5FB7;&#x8BED;&#x59D3;&#x540D; <em>B&#xF6;hm</em> &#x4F1A;&#x600E;&#x6837;&#x5462;&#xFF1F;</p>
<p>&#x73B0;&#x5728;&#x6211;&#x4EEC;&#x7684;&#x59D3;&#x540D;&#x4F1A;&#x8FD4;&#x56DE;&#x8FD9;&#x6837;&#x7684;&#x6392;&#x5E8F;&#xFF1A; <code>bailey</code> &#x3001; <code>Boffey</code> &#x3001; <code>BROWN</code> &#x3001; <code>B&#xF6;hm</code> &#x3002; <code>B&#xF6;hm</code> &#x4F1A;&#x6392;&#x5728; <code>BROWN</code> &#x540E;&#x9762;&#x7684;&#x539F;&#x56E0;&#x662F;&#x8FD9;&#x4E9B;&#x5355;&#x8BCD;&#x4F9D;&#x7136;&#x662F;&#x6309;&#x7167;&#x5B83;&#x4EEC;&#x8868;&#x73B0;&#x7684;&#x5B57;&#x8282;&#x503C;&#x6392;&#x5E8F;&#x7684;&#x3002; <code>r</code> &#x6240;&#x5B58;&#x50A8;&#x7684;&#x5B57;&#x8282;&#x4E3A; <code>0x72</code> &#xFF0C;&#x800C; <code>&#xF6;</code> &#x5B58;&#x50A8;&#x7684;&#x5B57;&#x8282;&#x503C;&#x4E3A; <code>0xF6</code> &#xFF0C;&#x6240;&#x4EE5; <code>B&#xF6;hm</code> &#x6392;&#x5728;&#x6700;&#x540E;&#x3002;&#x6BCF;&#x4E2A;&#x5B57;&#x7B26;&#x7684;&#x5B57;&#x8282;&#x503C;&#x90FD;&#x662F;&#x5386;&#x53F2;&#x7684;&#x610F;&#x5916;&#x3002;</p>
<p>&#x663E;&#x7136;&#xFF0C;&#x9ED8;&#x8BA4;&#x6392;&#x5E8F;&#x987A;&#x5E8F;&#x5BF9;&#x4E8E;&#x9664;&#x7B80;&#x5355;&#x82F1;&#x8BED;&#x4E4B;&#x5916;&#x7684;&#x4EFB;&#x4F55;&#x4E8B;&#x7269;&#x90FD;&#x662F;&#x65E0;&#x610F;&#x4E49;&#x7684;&#x3002;&#x4E8B;&#x5B9E;&#x4E0A;&#xFF0C;&#x6CA1;&#x6709;&#x5B8C;&#x5168;&#x201C;&#x6B63;&#x786E;&#x201D;&#x7684;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#x3002;&#x8FD9;&#x5B8C;&#x5168;&#x53D6;&#x51B3;&#x4E8E;&#x4F60;&#x4F7F;&#x7528;&#x7684;&#x8BED;&#x8A00;&#x3002;</p>
<p><strong>&#x8BED;&#x8A00;&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x522B;</strong></p>
<p>&#x6BCF;&#x95E8;&#x8BED;&#x8A00;&#x90FD;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#xFF0C;&#x5E76;&#x4E14; &#x6709;&#x65F6;&#x5019;&#x751A;&#x81F3;&#x6709;&#x591A;&#x79CD;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#x3002; &#x8FD9;&#x91CC;&#x6709;&#x51E0;&#x4E2A;&#x4F8B;&#x5B50;&#xFF0C;&#x6211;&#x4EEC;&#x524D;&#x4E00;&#x5C0F;&#x8282;&#x4E2D;&#x7684;&#x56DB;&#x4E2A;&#x540D;&#x5B57;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x4E2D;&#x662F;&#x600E;&#x4E48;&#x6392;&#x5E8F;&#x7684;&#xFF1A;</p>
<ul>
<li>&#x82F1;&#x8BED;&#xFF1A; <code>bailey</code> &#x3001; <code>boffey</code> &#x3001; <code>b&#xF6;hm</code> &#x3001; <code>brown</code></li>
<li>&#x5FB7;&#x8BED;&#xFF1A; <code>bailey</code> &#x3001; <code>boffey</code> &#x3001; <code>b&#xF6;hm</code> &#x3001; <code>brown</code></li>
<li>&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;&#xFF1A; <code>bailey</code> &#x3001; <code>b&#xF6;hm</code> &#x3001; <code>boffey</code> &#x3001; <code>brown</code></li>
<li>&#x745E;&#x5178;&#x8BED;&#xFF1A; <code>bailey</code>, <code>boffey</code>, <code>brown</code>, <code>b&#xF6;hm</code><blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;&#x5C06; <code>b&#xF6;hm</code> &#x653E;&#x5728; <code>boffey</code> &#x7684;&#x539F;&#x56E0;&#x662F; <code>&#xF6;</code> &#x548C; <code>oe</code> &#x5728;&#x5904;&#x7406;&#x540D;&#x5B57;&#x548C;&#x5730;&#x70B9;&#x7684;&#x65F6;&#x5019;&#x4F1A;&#x88AB;&#x770B;&#x6210;&#x540C;&#x4E49;&#x8BCD;&#xFF0C;&#x6240;&#x4EE5; <code>b&#xF6;hm</code> &#x5728;&#x6392;&#x5E8F;&#x65F6;&#x50CF;&#x662F;&#x88AB;&#x5199;&#x6210;&#x4E86; <code>boehm</code> &#x3002;  </p>
</blockquote>
</li>
</ul>
<p><strong>Unicode &#x5F52;&#x7C7B;&#x7B97;&#x6CD5;</strong></p>
<p>&#x5F52;&#x7C7B;&#x662F;&#x5C06;&#x6587;&#x672C;&#x6309;&#x9884;&#x5B9A;&#x4E49;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#x7684;&#x8FC7;&#x7A0B;&#x3002; <em>Unicode &#x5F52;&#x7C7B;&#x7B97;&#x6CD5;</em> &#x6216;&#x79F0;&#x4E3A; UCA &#xFF08;&#x53C2;&#x89C1;<a href="http://www.unicode.org/reports/tr10/" target="_blank"><em>www.unicode.org/reports/tr10</em></a> &#xFF09; &#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x79CD;&#x5C06;&#x5B57;&#x7B26;&#x4E32;&#x6309;&#x7167;&#x5728;&#x5F52;&#x7C7B;&#x5355;&#x5143;&#x8868;&#x4E2D;&#x5B9A;&#x4E49;&#x7684;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#x7684;&#x65B9;&#x6CD5;&#xFF08;&#x901A;&#x5E38;&#x79F0;&#x4E3A;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#xFF09;&#x3002;</p>
<p>UCA &#x8FD8;&#x5B9A;&#x4E49;&#x4E86; <em>&#x9ED8;&#x8BA4; Unicode &#x6392;&#x5E8F;&#x89C4;&#x5219;&#x5143;&#x7D20;&#x8868;</em> &#x6216;&#x79F0;&#x4E3A; <em>DUCET</em> &#xFF0C; <em>DUCET</em> &#x4E3A;&#x65E0;&#x8BBA;&#x4EFB;&#x4F55;&#x8BED;&#x8A00;&#x7684;&#x6240;&#x6709; Unicode &#x5B57;&#x7B26;&#x5B9A;&#x4E49;&#x4E86;&#x9ED8;&#x8BA4;&#x6392;&#x5E8F;&#x3002;&#x5982;&#x4F60;&#x6240;&#x89C1;&#xFF0C;&#x6CA1;&#x6709;&#x60DF;&#x4E00;&#x4E00;&#x4E2A;&#x6B63;&#x786E;&#x7684;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#xFF0C;&#x6240;&#x4EE5; DUCET &#x8BA9;&#x66F4;&#x5C11;&#x7684;&#x4EBA;&#x611F;&#x5230;&#x70E6;&#x607C;&#xFF0C;&#x4E14;&#x70E6;&#x607C;&#x5C3D;&#x53EF;&#x80FD;&#x7684;&#x5C0F;&#xFF0C;&#x4F46;&#x5B83;&#x8FD8;&#x8FDC;&#x4E0D;&#x662F;&#x89E3;&#x51B3;&#x6240;&#x6709;&#x6392;&#x5E8F;&#x70E6;&#x607C;&#x7684;&#x4E07;&#x80FD;&#x836F;&#x3002;</p>
<p>&#x800C;&#x4E14;&#xFF0C;&#x660E;&#x663E;&#x51E0;&#x4E4E;&#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x90FD;&#x6709; &#x81EA;&#x5DF1;&#x7684;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#x3002;&#x5927;&#x591A;&#x65F6;&#x5019;&#x4F7F;&#x7528; DUCET &#x4F5C;&#x4E3A;&#x8D77;&#x70B9;&#x5E76;&#x4E14;&#x6DFB;&#x52A0;&#x4E00;&#x4E9B;&#x81EA;&#x5B9A;&#x4E49;&#x89C4;&#x5219;&#x7528;&#x6765;&#x5904;&#x7406;&#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x7684;&#x7279;&#x6027;&#x3002;</p>
<p>UCA &#x5C06;&#x5B57;&#x7B26;&#x4E32;&#x548C;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#xFF0C;&#x5E76;&#x8F93;&#x51FA;&#x4E8C;&#x8FDB;&#x5236;&#x6392;&#x5E8F;&#x952E;&#x3002; &#x5C06;&#x6839;&#x636E;&#x6307;&#x5B9A;&#x7684;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#x5BF9;&#x5B57;&#x7B26;&#x4E32;&#x96C6;&#x5408;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x8F6C;&#x5316;&#x4E3A;&#x5BF9;&#x5176;&#x4E8C;&#x8FDB;&#x5236;&#x6392;&#x5E8F;&#x952E;&#x7684;&#x7B80;&#x5355;&#x6BD4;&#x8F83;&#x3002;</p>
<p><strong>Unicode &#x6392;&#x5E8F;</strong></p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x672C;&#x8282;&#x4E2D;&#x63CF;&#x8FF0;&#x7684;&#x65B9;&#x6CD5;&#x53EF;&#x80FD;&#x4F1A;&#x5728;&#x672A;&#x6765;&#x7248;&#x672C;&#x7684; Elasticsearch &#x4E2D;&#x66F4;&#x6539;&#x3002;&#x8BF7;&#x67E5;&#x770B; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/icu-plugin.html" target="_blank"><code>icu</code> plugin</a> &#x6587;&#x6863;&#x7684;&#x6700;&#x65B0;&#x4FE1;&#x606F;&#x3002;  </p>
</blockquote>
<p><code>icu_collation</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x9ED8;&#x8BA4;&#x4F7F;&#x7528; DUCET &#x6392;&#x5E8F;&#x89C4;&#x5219;&#x3002;&#x8FD9;&#x5DF2;&#x7ECF;&#x662F;&#x5BF9;&#x9ED8;&#x8BA4;&#x6392;&#x5E8F;&#x7684;&#x6539;&#x8FDB;&#x4E86;&#x3002;&#x60F3;&#x8981;&#x4F7F;&#x7528; <code>icu_collation</code> &#x6211;&#x4EEC;&#x4EC5;&#x9700;&#x8981;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x4F7F;&#x7528;&#x9ED8;&#x8BA4; <code>icu_collation</code> &#x8FC7;&#x6EE4;&#x5668;&#x7684;&#x5206;&#x6790;&#x5668;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;ducet_sort&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;keyword&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>: [ <span class="hljs-string">&quot;icu_collation&quot;</span> ]      &lt;<span class="hljs-number">1</span>&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x4F7F;&#x7528;&#x9ED8;&#x8BA4; DUCET &#x5F52;&#x7C7B;&#x3002;   </p>
</blockquote>
<p>&#x901A;&#x5E38;&#xFF0C;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x6392;&#x5E8F;&#x7684;&#x5B57;&#x6BB5;&#x5C31;&#x662F;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x641C;&#x7D22;&#x7684;&#x5B57;&#x6BB5;&#xFF0C; &#x56E0;&#x6B64;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x4E0E;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/sorting-collations.html#case-insensitive-sorting" target="_blank">&#x5927;&#x5C0F;&#x5199;&#x654F;&#x611F;&#x6392;&#x5E8F;</a> &#x4E2D;&#x4F7F;&#x7528;&#x7684;&#x76F8;&#x540C;&#x7684;&#x590D;&#x6570;&#x57DF;&#x65B9;&#x6CD5;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/_mapping/user
{
  <span class="hljs-string">&quot;properties&quot;</span>: {
    <span class="hljs-string">&quot;name&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
      <span class="hljs-string">&quot;fields&quot;</span>: {
        <span class="hljs-string">&quot;sort&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;ducet_sort&quot;</span>
        }
      }
    }
  }
}
</code></pre>
<p>&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x6620;&#x5C04;&#xFF0C; <code>name.sort</code> &#x57DF;&#x5C06;&#x4F1A;&#x542B;&#x6709;&#x4E00;&#x4E2A;&#x4EC5;&#x7528;&#x6765;&#x6392;&#x5E8F;&#x7684;&#x952E;&#x3002;&#x6211;&#x4EEC;&#x6CA1;&#x6709;&#x6307;&#x5B9A;&#x67D0;&#x79CD;&#x8BED;&#x8A00;&#xFF0C;&#x6240;&#x4EE5;&#x5B83;&#x4F1A;&#x9ED8;&#x8BA4;&#x4F1A;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/sorting-collations.html#uca" target="_blank">DUCET collation</a> &#x3002;</p>
<p>&#x73B0;&#x5728;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x91CD;&#x65B0;&#x7D22;&#x5F15;&#x6211;&#x4EEC;&#x7684;&#x6848;&#x4F8B;&#x6587;&#x6863;&#x5E76;&#x6D4B;&#x8BD5;&#x6392;&#x5E8F;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/user/_bulk
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">1</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;Boffey&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">2</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;BROWN&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">3</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;bailey&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">4</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;B&#xF6;hm&quot;</span> }

GET /my_index/user/_search?sort=name.sort
</code></pre>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x6CE8;&#x610F;&#xFF0C;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x8FD4;&#x56DE;&#x7684; <code>sort</code> &#x952E;&#xFF0C;&#x5728;&#x524D;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#x770B;&#x8D77;&#x6765;&#x50CF; <code>brown</code> &#x548C; <code>b&#xF6;hm</code> &#xFF0C;&#x73B0;&#x5728;&#x770B;&#x8D77;&#x6765;&#x50CF;&#x5929;&#x4E66;&#xFF1A; <code>&#x1594;&#x4E4F;&#x662B;&#x1010;&#x5008;&#x2800;\u0001</code> &#x3002;&#x539F;&#x56E0;&#x662F; <code>icu_collation</code> &#x8FC7;&#x6EE4;&#x5668;&#x8F93;&#x51FA;&#x952E; &#x4EC5;&#x7528;&#x4E8E;&#x6709;&#x6548;&#x5206;&#x7C7B;&#xFF0C;&#x4E0D;&#x7528;&#x4E8E;&#x4EFB;&#x4F55;&#x5176;&#x4ED6;&#x76EE;&#x7684;&#x3002;  </p>
</blockquote>
<p>&#x8FD0;&#x884C;&#x8FD9;&#x4E2A;&#x641C;&#x7D22;&#x8BF7;&#x6C42;&#x53CD;&#x95EE;&#x7684;&#x6587;&#x6863;&#x6392;&#x5E8F;&#x4E3A;&#xFF1A; <code>bailey</code> &#x3001; <code>Boffey</code> &#x3001; <code>B&#xF6;hm</code> &#x3001; <code>BROWN</code> &#x3002;&#x8FD9;&#x4E2A;&#x6392;&#x5E8F;&#x5BF9;&#x82F1;&#x8BED;&#x548C;&#x5FB7;&#x8BED;&#x6765;&#x8BF4;&#x90FD;&#x6B63;&#x786E;&#xFF0C;&#x8FD9;&#x5DF2;&#x7ECF;&#x662F;&#x4E00;&#x79CD;&#x8FDB;&#x6B65;&#xFF0C;&#x4F46;&#x662F;&#x5B83;&#x5BF9;&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;&#x548C;&#x745E;&#x5178;&#x8BED;&#x6765;&#x8BF4;&#x8FD8;&#x4E0D;&#x6B63;&#x786E;&#x3002;&#x4E0B;&#x4E00;&#x6B65;&#x6211;&#x4EEC;&#x4E3A;&#x4E0D;&#x540C;&#x7684;&#x8BED;&#x8A00;&#x81EA;&#x5B9A;&#x4E49;&#x6620;&#x5C04;&#x3002;</p>
<p><strong>&#x6307;&#x5B9A;&#x8BED;&#x8A00;</strong></p>
<p>&#x53EF;&#x4EE5;&#x4E3A;&#x7279;&#x5B9A;&#x7684;&#x8BED;&#x8A00;&#x914D;&#x7F6E; &#x4F7F;&#x7528;&#x5F52;&#x7C7B;&#x8868;&#x7684; <code>icu_collation</code> &#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x4F8B;&#x5982;&#x4E00;&#x4E2A;&#x56FD;&#x5BB6;&#x7279;&#x5B9A;&#x7248;&#x672C;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x6216;&#x8005;&#x50CF;&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;&#x4E4B;&#x7C7B;&#x7684;&#x5B50;&#x96C6;&#x3002; &#x8FD9;&#x4E2A;&#x53EF;&#x4EE5;&#x6309;&#x7167;&#x5982;&#x4E0B;&#x6240;&#x793A;&#x901A;&#x8FC7; &#x4F7F;&#x7528; <code>language</code> &#x3001; <code>country</code> &#x3001; &#x548C; <code>variant</code> &#x53C2;&#x6570;&#x6765;&#x521B;&#x5EFA;&#x81EA;&#x5B9A;&#x4E49;&#x7248;&#x672C;&#x7684;&#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#xFF1A;</p>
<ul>
<li><p>&#x82F1;&#x8BED;</p>
<p><code>{ &quot;language&quot;: &quot;en&quot; }</code></p>
</li>
<li><p>&#x5FB7;&#x8BED;</p>
<p><code>{ &quot;language&quot;: &quot;de&quot; }</code></p>
</li>
<li><p>&#x5965;&#x5730;&#x5229;&#x5FB7;&#x8BED;</p>
<p><code>{ &quot;language&quot;: &quot;de&quot;, &quot;country&quot;: &quot;AT&quot; }</code></p>
</li>
<li><p>&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;</p>
<p><code>{ &quot;language&quot;: &quot;de&quot;, &quot;variant&quot;: &quot;@collation=phonebook&quot; }</code></p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x4E00;&#x4E0B;&#x7F51;&#x5740;&#x9605;&#x8BFB;&#x66F4;&#x591A;&#x7684; ICU &#x672C;&#x5730;&#x652F;&#x6301;&#xFF1A; <a href="http://userguide.icu-project.org/locale" target="_blank">http://userguide.icu-project.org/locale</a>.  </p>
</blockquote>
</li>
</ul>
<p>&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x6F14;&#x793A;&#x600E;&#x4E48;&#x521B;&#x5EFA;&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;number_of_shards&quot;</span>: <span class="hljs-number">1</span>,
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;german_phonebook&quot;</span>: {                  &lt;1&gt;
          &quot;type&quot;:     &quot;icu_collation&quot;,
          &quot;language&quot;: &quot;de&quot;,
          &quot;country&quot;:  &quot;DE&quot;,
          &quot;variant&quot;:  &quot;@collation=phonebook&quot;
        }
      },
      &quot;analyzer&quot;: {
        &quot;german_phonebook&quot;: {                  &lt;2&gt;
          &quot;tokenizer&quot;: &quot;keyword&quot;,
          &quot;filter&quot;:  [ &quot;german_phonebook&quot; ]
        }
      }
    }
  },
  &quot;mappings&quot;: {
    &quot;user&quot;: {
      &quot;properties&quot;: {
        &quot;name&quot;: {
          &quot;type&quot;: &quot;string&quot;,
          &quot;fields&quot;: {
            &quot;sort&quot;: {                          &lt;3&gt;
              &quot;type&quot;:     &quot;string&quot;,
              &quot;analyzer&quot;: &quot;german_phonebook&quot;
            }
          }
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x9996;&#x5148;&#x6211;&#x4EEC;&#x4E3A;&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x8584;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x81EA;&#x5B9A;&#x4E49;&#x7248;&#x672C;&#x7684; <code>icu_collation</code> &#x3002;  </p>
<p> <img src="assets/2.png" alt="img">  &#x4E4B;&#x540E;&#x6211;&#x4EEC;&#x5C06;&#x5176;&#x5305;&#x88C5;&#x5728;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x5206;&#x6790;&#x5668;&#x4E2D;&#x3002;  </p>
<p> <img src="assets/3.png" alt="img">  &#x5E76;&#x4E14;&#x4E3A;&#x6211;&#x4EEC;&#x7684; <code>name.sort</code> &#x57DF;&#x914D;&#x7F6E;&#x5B83;&#x3002;   </p>
</blockquote>
<p>&#x50CF;&#x6211;&#x4EEC;&#x4E4B;&#x524D;&#x90A3;&#x6837;&#x91CD;&#x65B0;&#x7D22;&#x5F15;&#x5E76;&#x91CD;&#x65B0;&#x641C;&#x7D22;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/user/_bulk
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">1</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;Boffey&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">2</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;BROWN&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">3</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;bailey&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: { <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-number">4</span> }}
{ <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;B&#xF6;hm&quot;</span> }

GET /my_index/user/_search?sort=name.sort
</code></pre>
<p>&#x73B0;&#x5728;&#x8FD4;&#x56DE;&#x7684;&#x6587;&#x6863;&#x6392;&#x5E8F;&#x4E3A;&#xFF1A; <code>bailey</code> &#x3001; <code>B&#xF6;hm</code> &#x3001; <code>Boffey</code> &#x3001; <code>BROWN</code> &#x3002;&#x5728;&#x5FB7;&#x8BED;&#x7535;&#x8BDD;&#x7C3F;&#x5F52;&#x7C7B;&#x4E2D;&#xFF0C; <code>B&#xF6;hm</code> &#x7B49;&#x540C;&#x4E8E; <code>Boehm</code> &#xFF0C;&#x6240;&#x4EE5;&#x6392;&#x5728; <code>Boffey</code> &#x524D;&#x9762;&#x3002;</p>
<p><strong>&#x591A;&#x6392;&#x5E8F;&#x89C4;&#x5219;</strong></p>
<p>&#x6BCF;&#x79CD;&#x8BED;&#x8A00;&#x90FD;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x590D;&#x6570;&#x57DF; &#x6765;&#x652F;&#x6301;&#x5BF9;&#x540C;&#x4E00;&#x4E2A;&#x57DF;&#x8FDB;&#x884C;&#x591A;&#x89C4;&#x5219;&#x6392;&#x5E8F;&#xFF1A;</p>
<pre><code class="lang-js">PUT /my_index/_mapping/_user
{
  <span class="hljs-string">&quot;properties&quot;</span>: {
    <span class="hljs-string">&quot;name&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
      <span class="hljs-string">&quot;fields&quot;</span>: {
        <span class="hljs-string">&quot;default&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;ducet&quot;</span>                &lt;<span class="hljs-number">1</span>&gt;
        },
        <span class="hljs-string">&quot;french&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;french&quot;</span>               &lt;<span class="hljs-number">2</span>&gt;
        },
        <span class="hljs-string">&quot;german&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;german_phonebook&quot;</span>     &lt;<span class="hljs-number">3</span>&gt;
        },
        <span class="hljs-string">&quot;swedish&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;analyzer&quot;</span>: <span class="hljs-string">&quot;swedish&quot;</span>              &lt;<span class="hljs-number">4</span>&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <img src="assets/2.png" alt="img">  <img src="assets/3.png" alt="img">  <img src="assets/4.png" alt="img">   &#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E3A;&#x6BCF;&#x4E2A;&#x6392;&#x5E8F;&#x89C4;&#x5219;&#x521B;&#x5EFA;&#x76F8;&#x5E94;&#x7684;&#x5206;&#x6790;&#x5668;&#x3002;   </p>
</blockquote>
<p>&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x6620;&#x5C04;&#xFF0C;&#x53EA;&#x8981;&#x6309;&#x7167; <code>name.french</code> &#x3001; <code>name.german</code> &#x6216; <code>name.swedish</code> &#x57DF;&#x6392;&#x5E8F;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x4E3A;&#x6CD5;&#x8BED;&#x3001;&#x5FB7;&#x8BED;&#x548C;&#x745E;&#x5178;&#x8BED;&#x7528;&#x6237;&#x6B63;&#x786E;&#x7684;&#x6392;&#x5E8F;&#x7ED3;&#x679C;&#x4E86;&#x3002;&#x4E0D;&#x652F;&#x6301;&#x7684;&#x8BED;&#x8A00;&#x53EF;&#x4EE5;&#x56DE;&#x9000;&#x5230;&#x4F7F;&#x7528; <code>name.default</code> &#x57DF;&#xFF0C;&#x5B83;&#x4F7F;&#x7528; DUCET &#x6392;&#x5E8F;&#x987A;&#x5E8F;&#x3002;</p>
<p><strong>&#x81EA;&#x5B9A;&#x4E49;&#x6392;&#x5E8F;</strong></p>
<p><code>icu_collation</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x63D0;&#x4F9B;&#x5F88;&#x591A; &#x9009;&#x9879;&#xFF0C;&#x4E0D;&#x6B62; <code>language</code> &#x3001; <code>country</code> &#x3001;&#x548C; <code>variant</code> &#xFF0C;&#x8FD9;&#x4E9B;&#x9009;&#x9879;&#x53EF;&#x4EE5;&#x7528;&#x4E8E;&#x5B9A;&#x5236;&#x6392;&#x5E8F;&#x7B97;&#x6CD5;&#x3002;&#x53EF;&#x7528;&#x7684;&#x9009;&#x9879;&#x6709;&#x4EE5;&#x4E0B;&#x4F5C;&#x7528;&#xFF1A;</p>
<ul>
<li>&#x5FFD;&#x7565;&#x53D8;&#x97F3;&#x7B26;&#x53F7;</li>
<li>&#x987A;&#x5E8F;&#x5927;&#x5199;&#x6392;&#x5148;&#x6216;&#x6392;&#x540E;&#xFF0C;&#x6216;&#x5FFD;&#x7565;&#x5927;&#x5C0F;&#x5199;</li>
<li>&#x8003;&#x8651;&#x6216;&#x5FFD;&#x7565;&#x6807;&#x70B9;&#x7B26;&#x53F7;&#x548C;&#x7A7A;&#x767D;</li>
<li>&#x5C06;&#x6570;&#x5B57;&#x6309;&#x5B57;&#x7B26;&#x4E32;&#x6216;&#x6570;&#x5B57;&#x503C;&#x6392;&#x5E8F;</li>
<li>&#x81EA;&#x5B9A;&#x4E49;&#x73B0;&#x6709;&#x5F52;&#x7C7B;&#x6216;&#x5B9A;&#x4E49;&#x81EA;&#x5DF1;&#x7684;&#x5F52;&#x7C7B;</li>
</ul>
<p>&#x8FD9;&#x4E9B;&#x9009;&#x9879;&#x7684;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x8D85;&#x51FA;&#x4E86;&#x672C;&#x4E66;&#x7684;&#x8303;&#x56F4;&#xFF0C;&#x66F4;&#x591A;&#x7684;&#x4FE1;&#x606F;&#x53EF;&#x4EE5;&#x67E5;&#x8BE2; <a href="https://github.com/elasticsearch/elasticsearch-analysis-icu" target="_blank">ICU plug-in documentation</a> &#x548C; <a href="http://userguide.icu-project.org/collation/concepts" target="_blank">ICU project collation documentation</a> &#x3002;</p>
<h2 id="&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;"><a name="&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;" class="anchor-navigation-ex-anchor" href="#&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5C06;&#x5355;&#x8BCD;&#x8FD8;&#x539F;&#x4E3A;&#x8BCD;&#x6839;</h2>
<p>&#x5927;&#x591A;&#x6570;&#x8BED;&#x8A00;&#x7684;&#x5355;&#x8BCD;&#x90FD;&#x53EF;&#x4EE5; <em>&#x8BCD;&#x5F62;&#x53D8;&#x5316;</em> &#xFF0C;&#x610F;&#x5473;&#x7740; &#x4E0B;&#x5217;&#x5355;&#x8BCD;&#x53EF;&#x4EE5;&#x6539;&#x53D8;&#x5B83;&#x4EEC;&#x7684;&#x5F62;&#x6001;&#x7528;&#x6765;&#x8868;&#x8FBE;&#x4E0D;&#x540C;&#x7684;&#x610F;&#x601D;&#xFF1A;</p>
<ul>
<li><em>&#x5355;&#x590D;&#x6570;&#x53D8;&#x5316;</em> &#xFF1A; fox &#x3001;foxes</li>
<li><em>&#x65F6;&#x6001;&#x53D8;&#x5316;</em> &#xFF1A; pay &#x3001; paid &#x3001; paying</li>
<li><em>&#x6027;&#x522B;&#x53D8;&#x5316;</em> &#xFF1A; waiter &#x3001; waitress</li>
<li><em>&#x52A8;&#x8BCD;&#x4EBA;&#x79F0;&#x53D8;&#x5316;</em> &#xFF1A; hear &#x3001; hears</li>
<li><em>&#x4EE3;&#x8BCD;&#x53D8;&#x5316;</em> &#xFF1A; I &#x3001; me &#x3001; my</li>
<li><em>&#x4E0D;&#x89C4;&#x5219;&#x53D8;&#x5316;</em> &#xFF1A; ate &#x3001; eaten</li>
<li><em>&#x60C5;&#x666F;&#x53D8;&#x5316;</em> &#xFF1A; so be it &#x3001; were it so</li>
</ul>
<p>&#x867D;&#x7136;&#x8BCD;&#x5F62;&#x53D8;&#x5316;&#x6709;&#x52A9;&#x4E8E;&#x8868;&#x8FBE;&#xFF0C;&#x4F46;&#x5B83;&#x5E72;&#x6270;&#x4E86;&#x68C0;&#x7D22;&#xFF0C;&#x4E00;&#x4E2A;&#x5355;&#x4E00;&#x7684;&#x8BCD;&#x6839; <em>&#x8BCD;&#x4E49;</em> &#xFF08;&#x6216;&#x610F;&#x4E49;&#xFF09;&#x53EF;&#x80FD;&#x88AB;&#x5F88;&#x591A;&#x4E0D;&#x540C;&#x7684;&#x5B57;&#x6BCD;&#x5E8F;&#x5217;&#x8868;&#x8FBE;&#x3002; &#x82F1;&#x8BED;&#x662F;&#x4E00;&#x79CD;&#x5F31;&#x8BCD;&#x5F62;&#x53D8;&#x5316;&#x8BED;&#x8A00;&#xFF08;&#x4F60;&#x53EF;&#x4EE5;&#x5FFD;&#x7565;&#x8BCD;&#x5F62;&#x53D8;&#x5316;&#x5E76;&#x4E14;&#x80FD;&#x5F97;&#x5230;&#x5408;&#x7406;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#xFF09;&#xFF0C;&#x4F46;&#x662F;&#x4E00;&#x4E9B;&#x5176;&#x4ED6;&#x8BED;&#x8A00;&#x662F;&#x9AD8;&#x5EA6;&#x8BCD;&#x5F62;&#x53D8;&#x5316;&#x7684;&#x5E76;&#x4E14;&#x9700;&#x8981;&#x989D;&#x5916;&#x7684;&#x5DE5;&#x4F5C;&#x6765;&#x4FDD;&#x8BC1;&#x9AD8;&#x8D28;&#x91CF;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x3002;</p>
<p><em>&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</em> &#x8BD5;&#x56FE;&#x79FB;&#x9664;&#x5355;&#x8BCD;&#x7684;&#x53D8;&#x5316;&#x5F62;&#x5F0F;&#x4E4B;&#x95F4;&#x7684;&#x5DEE;&#x522B;&#xFF0C;&#x4ECE;&#x800C;&#x8FBE;&#x5230;&#x5C06;&#x6BCF;&#x4E2A;&#x8BCD;&#x90FD;&#x63D0;&#x53D6;&#x4E3A;&#x5B83;&#x7684;&#x8BCD;&#x6839;&#x5F62;&#x5F0F;&#x3002; &#x4F8B;&#x5982; <code>foxes</code>&#x53EF;&#x80FD;&#x88AB;&#x63D0;&#x53D6;&#x4E3A;&#x8BCD;&#x6839; <code>fox</code> &#xFF0C;&#x79FB;&#x9664;&#x5355;&#x6570;&#x548C;&#x590D;&#x6570;&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x522B;&#x8DDF;&#x6211;&#x4EEC;&#x79FB;&#x9664;&#x5927;&#x5C0F;&#x5199;&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x522B;&#x7684;&#x65B9;&#x5F0F;&#x662F;&#x4E00;&#x6837;&#x7684;&#x3002;</p>
<p>&#x5355;&#x8BCD;&#x7684;&#x8BCD;&#x6839;&#x5F62;&#x5F0F;&#x751A;&#x81F3;&#x6709;&#x53EF;&#x80FD;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x771F;&#x7684;&#x5355;&#x8BCD;&#xFF0C;&#x5355;&#x8BCD; <code>jumping</code> &#x548C; <code>jumpiness</code> &#x6216;&#x8BB8;&#x90FD;&#x4F1A;&#x88AB;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x4E3A; <code>jumpi</code>&#x3002; &#x8FD9;&#x5E76;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x95EE;&#x9898;--&#x53EA;&#x8981;&#x5728;&#x7D22;&#x5F15;&#x65F6;&#x548C;&#x641C;&#x7D22;&#x65F6;&#x4EA7;&#x751F;&#x76F8;&#x540C;&#x7684;&#x8BCD;&#x9879;&#xFF0C;&#x641C;&#x7D22;&#x4F1A;&#x6B63;&#x5E38;&#x7684;&#x5DE5;&#x4F5C;&#x3002;</p>
<p>&#x5982;&#x679C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5F88;&#x5BB9;&#x6613;&#x7684;&#x8BDD;&#xFF0C;&#x90A3;&#x53EA;&#x8981;&#x4E00;&#x4E2A;&#x63D2;&#x4EF6;&#x5C31;&#x591F;&#x4E86;&#x3002;&#x4E0D;&#x5E78;&#x7684;&#x662F;&#xFF0C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6; &#x662F;&#x4E00;&#x79CD;&#x906D;&#x53D7;&#x4E24;&#x79CD;&#x56F0;&#x6270;&#x7684;&#x6A21;&#x7CCA;&#x7684;&#x6280;&#x672F;&#xFF1A;&#x8BCD;&#x5E72;&#x5F31;&#x63D0;&#x53D6;&#x548C;&#x8BCD;&#x5E72;&#x8FC7;&#x5EA6;&#x63D0;&#x53D6;&#x3002;</p>
<p><em>&#x8BCD;&#x5E72;&#x5F31;&#x63D0;&#x53D6;</em> &#x5C31;&#x662F;&#x65E0;&#x6CD5;&#x5C06;&#x540C;&#x6837;&#x610F;&#x601D;&#x7684;&#x5355;&#x8BCD;&#x7F29;&#x51CF;&#x4E3A;&#x540C;&#x4E00;&#x4E2A;&#x8BCD;&#x6839;&#x3002;&#x4F8B;&#x5982;&#xFF0C; <code>jumped</code> &#x548C; <code>jumps</code> &#x53EF;&#x80FD;&#x88AB;&#x63D0;&#x53D6;&#x4E3A; <code>jump</code>&#xFF0C; &#x4F46;&#x662F; <code>jumping</code> &#x53EF;&#x80FD;&#x88AB;&#x63D0;&#x53D6;&#x4E3A; <code>jumpi</code> &#x3002;&#x5F31;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x4F1A;&#x5BFC;&#x81F4;&#x641C;&#x7D22;&#x65F6;&#x65E0;&#x6CD5;&#x8FD4;&#x56DE;&#x76F8;&#x5173;&#x6587;&#x6863;&#x3002;</p>
<p><em>&#x8BCD;&#x5E72;&#x8FC7;&#x5EA6;&#x63D0;&#x53D6;</em> &#x5C31;&#x662F;&#x65E0;&#x6CD5;&#x5C06;&#x4E0D;&#x540C;&#x542B;&#x4E49;&#x7684;&#x5355;&#x8BCD;&#x5206;&#x5F00;&#x3002;&#x4F8B;&#x5982;&#xFF0C; <code>general</code> &#x548C; <code>generate</code> &#x53EF;&#x80FD;&#x90FD;&#x88AB;&#x63D0;&#x53D6;&#x4E3A; <code>gener</code> &#x3002; &#x8BCD;&#x5E72;&#x8FC7;&#x5EA6;&#x63D0;&#x53D6;&#x4F1A;&#x964D;&#x4F4E;&#x7CBE;&#x51C6;&#x5EA6;&#xFF1A;&#x4E0D;&#x76F8;&#x5E72;&#x7684;&#x6587;&#x6863;&#x4F1A;&#x5728;&#x4E0D;&#x9700;&#x8981;&#x4ED6;&#x4EEC;&#x8FD4;&#x56DE;&#x7684;&#x65F6;&#x5019;&#x8FD4;&#x56DE;&#x3002;</p>
<hr>
<blockquote>
<p><strong>&#x8BCD;&#x5F62;&#x8FD8;&#x539F;</strong></p>
<p>&#x539F;&#x8BCD;&#x662F;&#x4E00;&#x7EC4;&#x76F8;&#x5173;&#x8BCD;&#x7684;&#x89C4;&#x8303;&#x5F62;&#x5F0F;&#xFF0C;&#x6216;&#x8BCD;&#x5178;&#x5F62;&#x5F0F;&#x2009;&#x2014;&#x2009;<code>paying</code> &#x3001; <code>paid</code> &#x548C; <code>pays</code> &#x7684;&#x539F;&#x8BCD;&#x662F; <code>pay</code> &#x3002; &#x901A;&#x5E38;&#x539F;&#x8BCD;&#x5F88;&#x50CF;&#x4E0E;&#x5176;&#x76F8;&#x5173;&#x7684;&#x8BCD;&#xFF0C;&#x4F46;&#x6709;&#x65F6;&#x4E5F;&#x4E0D;&#x50CF;&#x2009;&#x2014;&#x2009;<code>is</code> &#x3001; <code>was</code> &#x3001; <code>am</code> &#x548C; <code>being</code> &#x7684;&#x539F;&#x8BCD;&#x662F; <code>be</code> &#x3002;</p>
<p>&#x8BCD;&#x5F62;&#x8FD8;&#x539F;&#xFF0C;&#x5F88;&#x50CF;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#xFF0C;&#x8BD5;&#x56FE;&#x5F52;&#x7C7B;&#x76F8;&#x5173;&#x5355;&#x8BCD;&#xFF0C;&#x4F46;&#x662F;&#x5B83;&#x6BD4;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5148;&#x8FDB;&#x4E00;&#x6B65;&#x7684;&#x662F;&#x5B83;&#x4F01;&#x56FE;&#x6309;&#x5355;&#x8BCD;&#x7684; <em>&#x8BCD;&#x4E49;</em> &#xFF0C;&#x6216;&#x610F;&#x4E49;&#x5F52;&#x7C7B;&#x3002; &#x540C;&#x6837;&#x7684;&#x5355;&#x8BCD;&#x53EF;&#x80FD;&#x8868;&#x73B0;&#x51FA;&#x4E24;&#x79CD;&#x610F;&#x601D;&#x2014;&#x4F8B;&#x5982;&#xFF0C; <em>wake</em> &#x53EF;&#x4EE5;&#x8868;&#x73B0;&#x4E3A; <em>to wake up</em> &#x6216; <em>a funeral</em> &#x3002;&#x7136;&#x800C;&#x8BCD;&#x5F62;&#x8FD8;&#x539F;&#x8BD5;&#x56FE;&#x533A;&#x5206;&#x4E24;&#x4E2A;&#x8BCD;&#x7684;&#x8BCD;&#x4E49;&#xFF0C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5374;&#x4F1A;&#x5C06;&#x5176;&#x6DF7;&#x4E3A;&#x4E00;&#x8C08;&#x3002;</p>
<p>&#x8BCD;&#x5F62;&#x8FD8;&#x539F;&#x662F;&#x4E00;&#x79CD;&#x66F4;&#x590D;&#x6742;&#x548C;&#x9AD8;&#x8D44;&#x6E90;&#x6D88;&#x8017;&#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x5B83;&#x9700;&#x8981;&#x7406;&#x89E3;&#x5355;&#x8BCD;&#x51FA;&#x73B0;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x6765;&#x51B3;&#x5B9A;&#x8BCD;&#x7684;&#x610F;&#x601D;&#x3002;&#x5B9E;&#x8DF5;&#x4E2D;&#xFF0C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x4F3C;&#x4E4E;&#x6BD4;&#x8BCD;&#x5F62;&#x8FD8;&#x539F;&#x66F4;&#x9AD8;&#x6548;&#xFF0C;&#x4E14;&#x4EE3;&#x4EF7;&#x66F4;&#x4F4E;&#x3002;</p>
</blockquote>
<hr>
<p>&#x9996;&#x5148;&#x6211;&#x4EEC;&#x4F1A;&#x8BA8;&#x8BBA;&#x4E0B;&#x4E24;&#x4E2A; Elasticsearch &#x4F7F;&#x7528;&#x7684;&#x7ECF;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668; &#x2014; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/algorithmic-stemmers.html" target="_blank">&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;</a> &#x548C; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/dictionary-stemmers.html" target="_blank">&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</a> &#x2014; &#x5E76;&#x4E14;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/choosing-a-stemmer.html" target="_blank">&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</a> &#x8BA8;&#x8BBA;&#x4E86;&#x600E;&#x4E48;&#x6839;&#x636E;&#x4F60;&#x7684;&#x9700;&#x8981;&#x9009;&#x62E9;&#x5408;&#x9002;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002; &#x6700;&#x540E;&#x5C06;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/controlling-stemming.html" target="_blank">&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a> &#x548C; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stemming-in-situ.html" target="_blank">&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a> &#x4E2D;&#x8BA8;&#x8BBA;&#x5982;&#x4F55;&#x88C1;&#x526A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x3002;</p>
<h3 id="&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;"><a name="&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;" class="anchor-navigation-ex-anchor" href="#&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;</h3>
<p>Elasticsearch &#x4E2D;&#x7684;&#x5927;&#x90E8;&#x5206; stemmers &#xFF08;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF09;&#x662F;&#x57FA;&#x4E8E;&#x7B97;&#x6CD5;&#x7684;&#xFF0C;&#x5B83;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x7CFB;&#x5217;&#x89C4;&#x5219;&#x7528;&#x4E8E;&#x5C06;&#x4E00;&#x4E2A;&#x8BCD;&#x63D0;&#x53D6;&#x4E3A;&#x5B83;&#x7684;&#x8BCD;&#x6839;&#x5F62;&#x5F0F;&#xFF0C;&#x4F8B;&#x5982;&#x5265;&#x79BB;&#x590D;&#x6570;&#x8BCD;&#x672B;&#x5C3E;&#x7684; <code>s</code> &#x6216; <code>es</code> &#x3002;&#x63D0;&#x53D6;&#x5355;&#x8BCD;&#x8BCD;&#x5E72;&#x65F6;&#x5E76;&#x4E0D;&#x9700;&#x8981;&#x77E5;&#x9053;&#x8BE5;&#x8BCD;&#x7684;&#x4EFB;&#x4F55;&#x4FE1;&#x606F;&#x3002;</p>
<p>&#x8FD9;&#x4E9B;&#x57FA;&#x4E8E;&#x7B97;&#x6CD5;&#x7684; stemmers &#x4F18;&#x70B9;&#x662F;&#xFF1A;&#x53EF;&#x4EE5;&#x4F5C;&#x4E3A;&#x63D2;&#x4EF6;&#x4F7F;&#x7528;&#xFF0C;&#x901F;&#x5EA6;&#x5FEB;&#xFF0C;&#x5360;&#x7528;&#x5185;&#x5B58;&#x5C11;&#xFF0C;&#x6709;&#x89C4;&#x5F8B;&#x7684;&#x5355;&#x8BCD;&#x5904;&#x7406;&#x6548;&#x679C;&#x597D;&#x3002;&#x7F3A;&#x70B9;&#x662F;&#xFF1A;&#x6CA1;&#x89C4;&#x5F8B;&#x7684;&#x5355;&#x8BCD;&#x4F8B;&#x5982; <code>be</code> &#x3001; <code>are</code> &#x3001;&#x548C; <code>am</code> &#xFF0C;&#x6216; <code>mice</code> &#x548C; <code>mouse</code> &#x6548;&#x679C;&#x4E0D;&#x597D;&#x3002;</p>
<p>&#x6700;&#x65E9;&#x7684;&#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x7B97;&#x6CD5; &#x7684;&#x82F1;&#x6587;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x662F; Porter stemmer &#xFF0C;&#x8BE5;&#x82F1;&#x6587;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x73B0;&#x5728;&#x4F9D;&#x7136;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#x3002; Martin Porter &#x540E;&#x6765;&#x4E3A;&#x4E86;&#x5F00;&#x53D1;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;&#x521B;&#x5EFA;&#x4E86; <a href="http://snowball.tartarus.org/" target="_blank">Snowball language</a> &#x7F51;&#x7AD9;&#xFF0C; &#x5F88;&#x591A; Elasticsearch &#x4E2D;&#x4F7F;&#x7528;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5C31;&#x662F;&#x7528; Snowball &#x8BED;&#x8A00;&#x5199;&#x7684;&#x3002;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-kstem-tokenfilter.html" target="_blank"><code>kstem</code> token filter</a> &#x662F;&#x4E00;&#x6B3E;&#x5408;&#x5E76;&#x4E86;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;&#x548C;&#x5185;&#x7F6E;&#x8BCD;&#x5178;&#x7684;&#x82F1;&#x8BED;&#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x3002;&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x6A21;&#x7CCA;&#x8BCD;&#x4E0D;&#x6B63;&#x786E;&#x63D0;&#x53D6;&#xFF0C;&#x8FD9;&#x4E2A;&#x8BCD;&#x5178;&#x5305;&#x542B;&#x4E00;&#x7CFB;&#x5217;&#x6839;&#x8BCD;&#x5355;&#x8BCD;&#x548C;&#x7279;&#x4F8B;&#x5355;&#x8BCD;&#x3002; <code>kstem</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x76F8;&#x8F83;&#x4E8E; Porter &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x800C;&#x8A00;&#x4E0D;&#x90A3;&#x4E48;&#x6FC0;&#x8FDB;&#x3002;  </p>
</blockquote>
<p><strong>&#x4F7F;&#x7528;&#x57FA;&#x4E8E;&#x7B97;&#x6CD5;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</strong></p>
<p>&#x4F60; &#x53EF;&#x4EE5;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-porterstem-tokenfilter.html" target="_blank"><code>porter_stem</code></a> &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x6216;&#x76F4;&#x63A5;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-kstem-tokenfilter.html" target="_blank"><code>kstem</code></a> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x6216;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-snowball-tokenfilter.html" target="_blank"><code>snowball</code></a> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5177;&#x4F53;&#x8BED;&#x8A00;&#x7684; Snowball &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002;&#x6240;&#x6709;&#x57FA;&#x4E8E;&#x7B97;&#x6CD5;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x90FD;&#x66B4;&#x9732;&#x4E86;&#x7528;&#x6765;&#x63A5;&#x53D7; <code>&#x8BED;&#x8A00;</code> &#x53C2;&#x6570;&#x7684;&#x7EDF;&#x4E00;&#x63A5;&#x53E3;&#xFF1A; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-stemmer-tokenfilter.html" target="_blank"><code>stemmer</code> token filter</a> &#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF0C;&#x5047;&#x8BBE;&#x4F60;&#x53D1;&#x73B0; <code>&#x82F1;&#x8BED;</code> &#x5206;&#x6790;&#x5668;&#x4F7F;&#x7528;&#x7684;&#x9ED8;&#x8BA4;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x592A;&#x6FC0;&#x8FDB;&#x5E76;&#x4E14; &#x4F60;&#x60F3;&#x4F7F;&#x5B83;&#x4E0D;&#x90A3;&#x4E48;&#x6FC0;&#x8FDB;&#x3002;&#x9996;&#x5148;&#x5E94;&#x5728; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-lang-analyzer.html" target="_blank">language analyzers</a> &#x67E5;&#x770B; <code>&#x82F1;&#x8BED;</code> &#x5206;&#x6790;&#x5668;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x5C55;&#x793A;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-js">{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;english_stop&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;stop&quot;</span>,
          <span class="hljs-string">&quot;stopwords&quot;</span>:  <span class="hljs-string">&quot;_english_&quot;</span>
        },
        <span class="hljs-string">&quot;english_keywords&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;keyword_marker&quot;</span>,          &lt;1&gt;
          &quot;keywords&quot;:   []
        },
        &quot;english_stemmer&quot;: {
          &quot;type&quot;:       &quot;stemmer&quot;,
          &quot;language&quot;:   &quot;english&quot;                  &lt;2&gt;
        },
        &quot;english_possessive_stemmer&quot;: {
          &quot;type&quot;:       &quot;stemmer&quot;,
          &quot;language&quot;:   &quot;possessive_english&quot;       &lt;3&gt;
        }
      },
      &quot;analyzer&quot;: {
        &quot;english&quot;: {
          &quot;tokenizer&quot;:  &quot;standard&quot;,
          &quot;filter&quot;: [
            &quot;english_possessive_stemmer&quot;,
            &quot;lowercase&quot;,
            &quot;english_stop&quot;,
            &quot;english_keywords&quot;,
            &quot;english_stemmer&quot;
          ]
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>keyword_marker</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x5217;&#x51FA;&#x90A3;&#x4E9B;&#x4E0D;&#x7528;&#x88AB;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x7684;&#x5355;&#x8BCD;&#x3002;&#x8FD9;&#x4E2A;&#x8FC7;&#x6EE4;&#x5668;&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#x662F;&#x4E00;&#x4E2A;&#x7A7A;&#x7684;&#x5217;&#x8868;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <img src="assets/3.png" alt="img">  <code>english</code> &#x5206;&#x6790;&#x5668;&#x4F7F;&#x7528;&#x4E86;&#x4E24;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF1A; <code>possessive_english</code> &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x548C; <code>english</code> &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002;&#x6240;&#x6709;&#x683C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4F1A;&#x5728;&#x4EFB;&#x4F55;&#x8BCD;&#x4F20;&#x9012;&#x5230; <code>english_stop</code> &#x3001; <code>english_keywords</code> &#x548C; <code>english_stemmer</code> &#x4E4B;&#x524D;&#x53BB;&#x9664; <code>&apos;s</code> &#x3002;   </p>
</blockquote>
<p>&#x91CD;&#x65B0;&#x5BA1;&#x89C6;&#x4E0B;&#x73B0;&#x5728;&#x7684;&#x914D;&#x7F6E;&#xFF0C;&#x6DFB;&#x52A0;&#x4E0A;&#x4EE5;&#x4E0B;&#x4FEE;&#x6539;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x628A;&#x8FD9;&#x4EFD;&#x914D;&#x7F6E;&#x5F53;&#x4F5C;&#x65B0;&#x5206;&#x6790;&#x5668;&#x7684;&#x57FA;&#x672C;&#x914D;&#x7F6E;&#xFF1A;</p>
<ul>
<li>&#x4FEE;&#x6539; <code>english_stemmer</code> &#xFF0C;&#x5C06; <code>english</code> &#xFF08;<a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-porterstem-tokenfilter.html" target="_blank"><code>porter_stem</code></a> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x7684;&#x6620;&#x5C04;&#xFF09;&#x66FF;&#x6362;&#x4E3A; <code>light_english</code>&#xFF08;&#x975E;&#x6FC0;&#x8FDB;&#x7684; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-kstem-tokenfilter.html" target="_blank"><code>kstem</code></a> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x7684;&#x6620;&#x5C04;&#xFF09;&#x3002;</li>
<li>&#x6DFB;&#x52A0; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/asciifolding-token-filter.html" target="_blank"><code>asciifolding</code></a> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#x7528;&#x4EE5;&#x79FB;&#x9664;&#x5916;&#x8BED;&#x7684;&#x9644;&#x52A0;&#x7B26;&#x53F7;&#x3002;</li>
<li>&#x79FB;&#x9664; <code>keyword_marker</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x4E0D;&#x9700;&#x8981;&#x5B83;&#x3002;&#xFF08;&#x6211;&#x4EEC;&#x4F1A;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/controlling-stemming.html" target="_blank">&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a> &#x4E2D;&#x8BE6;&#x7EC6;&#x8BA8;&#x8BBA;&#x5B83;&#xFF09;</li>
</ul>
<p>&#x65B0;&#x5B9A;&#x4E49;&#x7684;&#x5206;&#x6790;&#x5668;&#x4F1A;&#x50CF;&#x4E0B;&#x9762;&#x8FD9;&#x6837;:</p>
<pre><code class="lang-js">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;english_stop&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;stop&quot;</span>,
          <span class="hljs-string">&quot;stopwords&quot;</span>:  <span class="hljs-string">&quot;_english_&quot;</span>
        },
        <span class="hljs-string">&quot;light_english_stemmer&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;stemmer&quot;</span>,
          <span class="hljs-string">&quot;language&quot;</span>:   <span class="hljs-string">&quot;light_english&quot;</span>      &lt;<span class="hljs-number">1</span>&gt;
        },
        <span class="hljs-string">&quot;english_possessive_stemmer&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;stemmer&quot;</span>,
          <span class="hljs-string">&quot;language&quot;</span>:   <span class="hljs-string">&quot;possessive_english&quot;</span>
        }
      },
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;english&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>:  <span class="hljs-string">&quot;standard&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>: [
            <span class="hljs-string">&quot;english_possessive_stemmer&quot;</span>,
            <span class="hljs-string">&quot;lowercase&quot;</span>,
            <span class="hljs-string">&quot;english_stop&quot;</span>,
            <span class="hljs-string">&quot;light_english_stemmer&quot;</span>,        &lt;2&gt;
            &quot;asciifolding&quot;                  &lt;3&gt;
          ]
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <img src="assets/2.png" alt="img">  &#x5C06; <code>english</code> &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x66FF;&#x6362;&#x4E3A;&#x975E;&#x6FC0;&#x8FDB;&#x7684; <code>light_english</code> &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;   </p>
<p> <img src="assets/3.png" alt="img">  &#x6DFB;&#x52A0; <code>asciifolding</code> &#x5206;&#x8BCD;&#x8FC7;&#x6EE4;&#x5668;     </p>
</blockquote>
<h3 id="&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;"><a name="&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</h3>
<p><em>&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</em> &#x5728;&#x5DE5;&#x4F5C;&#x673A;&#x5236;&#x4E0A;&#x4E0E; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/algorithmic-stemmers.html" target="_blank">&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</a> &#x5B8C;&#x5168;&#x4E0D;&#x540C;&#x3002; &#x4E0D;&#x540C;&#x4E8E;&#x5E94;&#x7528;&#x4E00;&#x7CFB;&#x5217;&#x6807;&#x51C6;&#x89C4;&#x5219;&#x5230;&#x6BCF;&#x4E2A;&#x8BCD;&#x4E0A;&#xFF0C;&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x5730;&#x5728;&#x5B57;&#x5178;&#x91CC;&#x67E5;&#x627E;&#x8BCD;&#x3002;&#x7406;&#x8BBA;&#x4E0A;&#x53EF;&#x4EE5;&#x7ED9;&#x51FA;&#x6BD4;&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x66F4;&#x597D;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x4E00;&#x4E2A;&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5E94;&#x5F53;&#x53EF;&#x4EE5;&#xFF1A;</p>
<ul>
<li>&#x8FD4;&#x56DE;&#x4E0D;&#x89C4;&#x5219;&#x5F62;&#x5F0F;&#x5982; <code>feet</code> &#x548C; <code>mice</code> &#x7684;&#x6B63;&#x786E;&#x8BCD;&#x5E72;</li>
<li>&#x533A;&#x5206;&#x51FA;&#x8BCD;&#x5F62;&#x76F8;&#x4F3C;&#x4F46;&#x8BCD;&#x4E49;&#x4E0D;&#x540C;&#x7684;&#x60C5;&#x5F62;&#xFF0C;&#x6BD4;&#x5982; <code>organ</code> and <code>organization</code></li>
</ul>
<p>&#x5B9E;&#x8DF5;&#x4E2D;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4E00;&#x822C;&#x4F18;&#x4E8E;&#x4E00;&#x4E2A;&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002;&#x5E94;&#x8BE5;&#x6709;&#x4EE5;&#x4E0B;&#x4E24;&#x5927;&#x539F;&#x56E0;&#xFF1A;</p>
<ul>
<li><p>&#x5B57;&#x5178;&#x8D28;&#x91CF;</p>
<p>&#x4E00;&#x4E2A;&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x518D;&#x597D;&#x4E5F;&#x5C31;&#x8DDF;&#x5B83;&#x7684;&#x5B57;&#x5178;&#x4E00;&#x6837;&#x3002; &#x636E;&#x725B;&#x6D25;&#x82F1;&#x8BED;&#x5B57;&#x5178;&#x7F51;&#x7AD9;&#x4F30;&#x8BA1;&#xFF0C;&#x82F1;&#x8BED;&#x5305;&#x542B;&#x5927;&#x7EA6;75&#x4E07;&#x4E2A;&#x5355;&#x8BCD;&#xFF08;&#x5305;&#x542B;&#x53D8;&#x97F3;&#x53D8;&#x5F62;&#x8BCD;&#xFF09;&#x3002;&#x7535;&#x8111;&#x4E0A;&#x7684;&#x5927;&#x90E8;&#x5206;&#x82F1;&#x8BED;&#x5B57;&#x5178;&#x53EA;&#x5305;&#x542B;&#x5176;&#x4E2D;&#x7684; 10% &#x3002;&#x8BCD;&#x7684;&#x542B;&#x4E49;&#x968F;&#x65F6;&#x5149;&#x53D8;&#x8FC1;&#x3002;<code>mobility</code> &#x63D0;&#x53D6;&#x8BCD;&#x5E72; <code>mobil</code> &#x5148;&#x524D;&#x53EF;&#x80FD;&#x8BB2;&#x5F97;&#x901A;&#xFF0C;&#x4F46;&#x73B0;&#x5728;&#x5408;&#x5E76;&#x8FDB;&#x4E86;&#x624B;&#x673A;&#x53EF;&#x79FB;&#x52A8;&#x6027;&#x7684;&#x542B;&#x4E49;&#x3002;&#x5B57;&#x5178;&#x9700;&#x8981;&#x4FDD;&#x6301;&#x6700;&#x65B0;&#xFF0C;&#x8FD9;&#x662F;&#x4E00;&#x9879;&#x5F88;&#x8017;&#x65F6;&#x7684;&#x4EFB;&#x52A1;&#x3002;&#x901A;&#x5E38;&#x7B49;&#x5230;&#x4E00;&#x4E2A;&#x5B57;&#x5178;&#x53D8;&#x5F97;&#x597D;&#x7528;&#x540E;&#xFF0C;&#x5176;&#x4E2D;&#x7684;&#x90E8;&#x5206;&#x5185;&#x5BB9;&#x5DF2;&#x7ECF;&#x8FC7;&#x65F6;&#x3002;&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5BF9;&#x4E8E;&#x5B57;&#x5178;&#x4E2D;&#x4E0D;&#x5B58;&#x5728;&#x7684;&#x8BCD;&#x65E0;&#x80FD;&#x4E3A;&#x529B;&#x3002;&#x800C;&#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x7B97;&#x6CD5;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x5219;&#x4F1A;&#x7EE7;&#x7EED;&#x5E94;&#x7528;&#x4E4B;&#x524D;&#x7684;&#x76F8;&#x540C;&#x89C4;&#x5219;&#xFF0C;&#x7ED3;&#x679C;&#x53EF;&#x80FD;&#x6B63;&#x786E;&#x6216;&#x9519;&#x8BEF;&#x3002;</p>
</li>
<li><p>&#x5927;&#x5C0F;&#x4E0E;&#x6027;&#x80FD;</p>
<p>&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x9700;&#x8981;&#x52A0;&#x8F7D;&#x6240;&#x6709;&#x8BCD;&#x6C47;&#x3001; &#x6240;&#x6709;&#x524D;&#x7F00;&#xFF0C;&#x4EE5;&#x53CA;&#x6240;&#x6709;&#x540E;&#x7F00;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#x3002;&#x8FD9;&#x4F1A;&#x663E;&#x8457;&#x5730;&#x6D88;&#x8017;&#x5185;&#x5B58;&#x3002;&#x627E;&#x5230;&#x4E00;&#x4E2A;&#x8BCD;&#x7684;&#x6B63;&#x786E;&#x8BCD;&#x5E72;&#xFF0C;&#x4E00;&#x822C;&#x6BD4;&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x7684;&#x76F8;&#x540C;&#x8FC7;&#x7A0B;&#x66F4;&#x52A0;&#x590D;&#x6742;&#x3002;&#x4F9D;&#x8D56;&#x4E8E;&#x4E0D;&#x540C;&#x7684;&#x5B57;&#x5178;&#x8D28;&#x91CF;&#xFF0C;&#x53BB;&#x9664;&#x524D;&#x540E;&#x7F00;&#x7684;&#x8FC7;&#x7A0B;&#x53EF;&#x80FD;&#x4F1A;&#x66F4;&#x52A0;&#x9AD8;&#x6548;&#x6216;&#x4F4E;&#x6548;&#x3002;&#x4F4E;&#x6548;&#x7684;&#x60C5;&#x5F62;&#x53EF;&#x80FD;&#x4F1A;&#x660E;&#x663E;&#x5730;&#x62D6;&#x6162;&#x6574;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x8FC7;&#x7A0B;&#x3002;&#x53E6;&#x4E00;&#x65B9;&#x9762;&#xFF0C;&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x901A;&#x5E38;&#x66F4;&#x7B80;&#x5355;&#x3001;&#x8F7B;&#x91CF;&#x548C;&#x5FEB;&#x901F;&#x3002;</p>
<blockquote>
<p>  <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x5982;&#x679C;&#x4F60;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x8BED;&#x8A00;&#x6709;&#x6BD4;&#x8F83;&#x597D;&#x7684;&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x8FD9;&#x901A;&#x5E38;&#x662F;&#x6BD4;&#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x5B57;&#x5178;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x66F4;&#x597D;&#x7684;&#x9009;&#x62E9;&#x3002;&#x5BF9;&#x4E8E;&#x7B97;&#x6CD5;&#x5316;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x6548;&#x679C;&#x6BD4;&#x8F83;&#x5DEE;&#xFF08;&#x6216;&#x8005;&#x538B;&#x6839;&#x6CA1;&#x6709;&#xFF09;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x62FC;&#x5199;&#x68C0;&#x67E5;&#xFF08;Hunspell&#xFF09;&#x5B57;&#x5178;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x4E0B;&#x4E00;&#x4E2A;&#x7AE0;&#x8282;&#x4F1A;&#x8BA8;&#x8BBA;&#x3002;  </p>
</blockquote>
</li>
</ul>
<h3 id="Hunspell&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;"><a name="Hunspell&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;" class="anchor-navigation-ex-anchor" href="#Hunspell&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>Hunspell &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;  </h3>
<p>Elasticsearch &#x63D0;&#x4F9B;&#x4E86;&#x57FA;&#x4E8E;&#x8BCD;&#x5178;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-hunspell-tokenfilter.html" target="_blank"><code>hunspell</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF08;token filter&#xFF09;</a>. Hunspell <a href="http://hunspell.github.io/" target="_blank"><em>hunspell.github.io</em></a> &#x662F;&#x4E00;&#x4E2A; Open Office&#x3001;LibreOffice&#x3001;Chrome&#x3001;Firefox&#x3001;Thunderbird &#x7B49;&#x4F17;&#x591A;&#x5176;&#x5B83;&#x5F00;&#x6E90;&#x9879;&#x76EE;&#x90FD;&#x5728;&#x4F7F;&#x7528;&#x7684;&#x62FC;&#x5199;&#x68C0;&#x67E5;&#x5668;&#x3002;</p>
<p>&#x53EF;&#x4EE5;&#x4ECE;&#x8FD9;&#x91CC;&#x83B7;&#x53D6; Hunspell &#x8BCD;&#x5178; &#xFF1A;</p>
<ul>
<li><a href="http://extensions.openoffice.org/" target="_blank"><em>extensions.openoffice.org</em></a>: &#x4E0B;&#x8F7D;&#x89E3;&#x538B; <code>.oxt</code> &#x540E;&#x7F00;&#x7684;&#x6587;&#x4EF6;&#x3002;</li>
<li><a href="http://mzl.la/157UORf" target="_blank"><em>addons.mozilla.org</em></a>: &#x4E0B;&#x8F7D;&#x89E3;&#x538B; <code>.xpi</code> &#x6269;&#x5C55;&#x6587;&#x4EF6;&#x3002;</li>
<li><a href="http://download.services.openoffice.org/contrib/dictionaries/" target="_blank">OpenOffice archive</a>: &#x4E0B;&#x8F7D;&#x89E3;&#x538B; <code>.zip</code> &#x6587;&#x4EF6;&#x3002;</li>
</ul>
<p>&#x4E00;&#x4E2A; Hunspell &#x8BCD;&#x5178;&#x7531;&#x4E24;&#x4E2A;&#x6587;&#x4EF6;&#x7EC4;&#x6210;&#x2009;&#x2014;&#x2009;&#x5177;&#x6709;&#x76F8;&#x540C;&#x7684;&#x6587;&#x4EF6;&#x540D;&#x548C;&#x4E24;&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x540E;&#x7F00;&#x2009;&#x2014;&#x2009;&#x5982; <code>en_US</code>&#x2014;&#x548C;&#x4E0B;&#x9762;&#x7684;&#x4E24;&#x4E2A;&#x540E;&#x7F00;&#x7684;&#x5176;&#x4E2D;&#x4E00;&#x4E2A;&#xFF1A;</p>
<ul>
<li><p><code>.dic</code></p>
<p>&#x5305;&#x542B;&#x6240;&#x6709;&#x8BCD;&#x6839;&#xFF0C;&#x91C7;&#x7528;&#x5B57;&#x6BCD;&#x987A;&#x5E8F;&#xFF0C;&#x518D;&#x52A0;&#x4E0A;&#x4E00;&#x4E2A;&#x4EE3;&#x8868;&#x6240;&#x6709;&#x53EF;&#x80FD;&#x524D;&#x7F00;&#x548C;&#x540E;&#x7F00;&#x7684;&#x4EE3;&#x7801;&#x8868; &#x3010;&#x96C6;&#x4F53;&#x79F0;&#x4E4B;&#x4E3A;&#x8BCD;&#x7F00;( <em>affixes</em> &#x3011;</p>
</li>
<li><p><code>.aff</code></p>
<p>&#x5305;&#x542B;&#x5B9E;&#x9645; <code>.dic</code> &#x6587;&#x4EF6;&#x6BCF;&#x4E00;&#x884C;&#x4EE3;&#x7801;&#x8868;&#x5BF9;&#x5E94;&#x7684;&#x524D;&#x7F00;&#x548C;&#x540E;&#x7F00;&#x8F6C;&#x6362;</p>
</li>
</ul>
<p><strong>&#x5B89;&#x88C5;&#x4E00;&#x4E2A;&#x8BCD;&#x5178;</strong></p>
<p>Hunspell &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668; &#x5728;&#x7279;&#x5B9A;&#x7684; Hunspell &#x76EE;&#x5F55;&#x91CC;&#x5BFB;&#x627E;&#x8BCD;&#x5178;&#xFF0C; &#x9ED8;&#x8BA4;&#x76EE;&#x5F55;&#x662F; <code>./config/hunspell/</code> &#x3002; <code>.dic</code> &#x6587;&#x4EF6;&#x548C; <code>.aff</code> &#x6587;&#x4EF6;&#x5E94;&#x8BE5;&#x8981;&#x4EE5;&#x5B50;&#x76EE;&#x5F55;&#x4E14;&#x6309;&#x8BED;&#x8A00;/&#x533A;&#x57DF;&#x7684;&#x65B9;&#x5F0F;&#x6765;&#x547D;&#x540D;&#x3002; &#x4F8B;&#x5982;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4E3A;&#x7F8E;&#x5F0F;&#x82F1;&#x8BED;&#x521B;&#x5EFA;&#x4E00;&#x4E2A; Hunspell &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x76EE;&#x5F55;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-text">config/
  &#x2514; hunspell/                    &lt;1&gt;
      &#x2514; en_US/                   &lt;3&gt;
          &#x251C; en_US.dic
          &#x251C; en_US.aff
          &#x2514; settings.yml         &lt;3&gt;
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  Hunspell &#x76EE;&#x5F55;&#x4F4D;&#x7F6E;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x7F16;&#x8F91; <code>config/elasticsearch.yml</code> &#x6587;&#x4EF6;&#x7684;&#xFF1A;<code>indices.analysis.hunspell.dictionary.location</code> &#x8BBE;&#x7F6E;&#x6765;&#x4FEE;&#x6539;&#x3002;  </p>
<p> <img src="assets/2.png" alt="img">   <code>en_US</code> &#x662F;&#x8FD9;&#x4E2A;&#x533A;&#x57DF;&#x7684;&#x540D;&#x5B57;&#xFF0C;&#x4E5F;&#x662F;&#x6211;&#x4EEC;&#x4F20;&#x7ED9; <code>hunspell</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x53C2;&#x6570; <code>language</code> &#x503C;&#x3002;   </p>
<p> <img src="assets/3.png" alt="img">   &#x4E00;&#x4E2A;&#x8BED;&#x8A00;&#x4E00;&#x4E2A;&#x8BBE;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x4E0B;&#x9762;&#x7684;&#x7AE0;&#x8282;&#x4F1A;&#x5177;&#x4F53;&#x4ECB;&#x7ECD;&#x3002;   </p>
</blockquote>
<p><strong>&#x6309;&#x8BED;&#x8A00;&#x8BBE;&#x7F6E;</strong></p>
<p>&#x5728;&#x8BED;&#x8A00;&#x7684;&#x76EE;&#x5F55;&#x8BBE;&#x7F6E;&#x6587;&#x4EF6; <code>settings.yml</code> &#x5305;&#x542B;&#x9002;&#x7528;&#x4E8E;&#x6240;&#x6709;&#x5B57;&#x5178;&#x5185;&#x7684;&#x8BED;&#x8A00;&#x76EE;&#x5F55;&#x7684;&#x8BBE;&#x7F6E;&#x9009;&#x9879;&#x3002;</p>
<pre><code class="lang-yaml"><span class="hljs-meta">---</span>
<span class="hljs-attr">ignore_case:</span>          <span class="hljs-literal">true</span>
<span class="hljs-attr">strict_affix_parsing:</span> <span class="hljs-literal">true</span>
</code></pre>
<p>&#x8FD9;&#x4E9B;&#x9009;&#x9879;&#x7684;&#x610F;&#x601D;&#x5982;&#x4E0B;&#xFF1A;</p>
<ul>
<li><p><code>ignore_case</code></p>
<p>Hunspell &#x76EE;&#x5F55;&#x9ED8;&#x8BA4;&#x662F;&#x533A;&#x5206;&#x5927;&#x5C0F;&#x5199;&#x7684;&#xFF0C;&#x5982;&#xFF0C;&#x59D3;&#x6C0F; <code>Booker</code> &#x548C;&#x540D;&#x8BCD; <code>booker</code> &#x662F;&#x4E0D;&#x540C;&#x7684;&#x8BCD;&#xFF0C;&#x6240;&#x4EE5;&#x5E94;&#x8BE5;&#x5206;&#x522B;&#x8FDB;&#x884C;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x3002; &#x4E5F;&#x8BB8;&#x8BA9; <code>hunspell</code> &#x63D0;&#x53D6;&#x5668;&#x533A;&#x5206;&#x5927;&#x5C0F;&#x5199;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x4E3B;&#x610F;&#xFF0C;&#x4E0D;&#x8FC7;&#x4E5F;&#x53EF;&#x80FD;&#x8BA9;&#x4E8B;&#x60C5;&#x53D8;&#x5F97;&#x590D;&#x6742;&#xFF1A;&#x4E00;&#x4E2A;&#x53E5;&#x5B50;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x8BCD;&#x53EF;&#x80FD;&#x4F1A;&#x88AB;&#x5927;&#x5199;&#xFF0C;&#x56E0;&#x6B64;&#x611F;&#x89C9;&#x4E0A;&#x4F1A;&#x50CF;&#x662F;&#x4E00;&#x4E2A;&#x540D;&#x8BCD;&#x3002;&#x8F93;&#x5165;&#x7684;&#x6587;&#x672C;&#x53EF;&#x80FD;&#x5168;&#x662F;&#x5927;&#x5199;&#xFF0C;&#x5982;&#x679C;&#x8FD9;&#x6837;&#x90A3;&#x51E0;&#x4E4E;&#x4E00;&#x4E2A;&#x8BCD;&#x90FD;&#x627E;&#x4E0D;&#x5230;&#x3002;&#x7528;&#x6237;&#x4E5F;&#x8BB8;&#x4F1A;&#x7528;&#x5C0F;&#x5199;&#x6765;&#x641C;&#x7D22;&#x540D;&#x5B57;&#xFF0C;&#x5728;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x5927;&#x5199;&#x5F00;&#x5934;&#x7684;&#x8BCD;&#x5C06;&#x627E;&#x4E0D;&#x5230;&#x3002;&#x4E00;&#x822C;&#x6765;&#x8BF4;&#xFF0C;&#x8BBE;&#x7F6E;&#x53C2;&#x6570; <code>ignore_case</code> &#x4E3A; <code>true</code> &#x662F;&#x4E00;&#x4E2A;&#x597D;&#x4E3B;&#x610F;&#x3002;</p>
</li>
<li><p><code>strict_affix_parsing</code></p>
<p>&#x8BCD;&#x5178;&#x7684;&#x8D28;&#x91CF;&#x5343;&#x5DEE;&#x4E07;&#x522B;&#x3002; &#x4E00;&#x4E9B;&#x7F51;&#x4E0A;&#x7684;&#x8BCD;&#x5178;&#x7684; <code>.aff</code> &#x6587;&#x4EF6;&#x6709;&#x5F88;&#x591A;&#x7578;&#x5F62;&#x7684;&#x89C4;&#x5219;&#x3002; &#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x5982;&#x679C; Lucene &#x4E0D;&#x80FD;&#x6B63;&#x5E38;&#x89E3;&#x6790;&#x4E00;&#x4E2A;&#x8BCD;&#x7F00;(affix)&#x89C4;&#x5219;&#xFF0C; &#x5B83;&#x4F1A;&#x629B;&#x51FA;&#x4E00;&#x4E2A;&#x5F02;&#x5E38;&#x3002; &#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x8BBE;&#x7F6E; <code>strict_affix_parsing</code> &#x4E3A; <code>false</code> &#x6765;&#x544A;&#x8BC9; Lucene &#x5FFD;&#x7565;&#x9519;&#x8BEF;&#x7684;&#x89C4;&#x5219;&#x3002;</p>
</li>
</ul>
<hr>
<p><strong>&#x81EA;&#x5B9A;&#x4E49;&#x8BCD;&#x5178;</strong></p>
<blockquote>
<p> &#x5982;&#x679C;&#x4E00;&#x4E2A;&#x76EE;&#x5F55;&#x653E;&#x7F6E;&#x4E86;&#x591A;&#x4E2A;&#x8BCD;&#x5178; (<code>.dic</code> &#x6587;&#x4EF6;)&#xFF0C; &#x4ED6;&#x4EEC;&#x4F1A;&#x5728;&#x52A0;&#x8F7D;&#x65F6;&#x5408;&#x5E76;&#x5230;&#x4E00;&#x8D77;&#x3002;&#x8FD9;&#x53EF;&#x4EE5;&#x8BA9;&#x4F60;&#x4EE5;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x8BCD;&#x5178;&#x7684;&#x65B9;&#x5F0F;&#x5BF9;&#x4E0B;&#x8F7D;&#x7684;&#x8BCD;&#x5178;&#x8FDB;&#x884C;&#x5B9A;&#x5236;&#xFF1A;</p>
<pre><code class="lang-text">config/
  &#x2514; hunspell/
      &#x2514; en_US/  
          &#x251C; en_US.dic
          &#x251C; en_US.aff 
          &#x251C; custom.dic
          &#x2514; settings.yml
</code></pre>
<p> <img src="assets/1.png" alt="img">  <code>custom</code> &#x8BCD;&#x5178;&#x548C; <code>en_US</code> &#x8BCD;&#x5178;&#x5C06;&#x5408;&#x5E76;&#x5230;&#x4E00;&#x8D77;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x591A;&#x4E2A; <code>.aff</code> &#x6587;&#x4EF6;&#x662F;&#x4E0D;&#x5141;&#x8BB8;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x4F1A;&#x4EA7;&#x751F;&#x89C4;&#x5219;&#x51B2;&#x7A81;&#x3002;  </p>
<p> <code>.dic</code> &#x6587;&#x4EF6;&#x548C; <code>.aff</code> &#x6587;&#x4EF6;&#x7684;&#x683C;&#x5F0F;&#x5728;&#x8FD9;&#x91CC;&#x8BA8;&#x8BBA;&#xFF1A; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/hunspell.html#hunspell-dictionary-format" target="_blank">Hunspell &#x8BCD;&#x5178;&#x683C;&#x5F0F;</a> &#x3002;  </p>
</blockquote>
<hr>
<p><strong>&#x521B;&#x5EFA;&#x4E00;&#x4E2A; Hunspell &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;</strong></p>
<p>&#x4E00;&#x65E6;&#x4F60;&#x5728;&#x6240;&#x6709;&#x8282;&#x70B9;&#x4E0A;&#x5B89;&#x88C5;&#x597D;&#x4E86;&#x8BCD;&#x5178;&#xFF0C;&#x4F60;&#x5C31;&#x80FD;&#x50CF;&#x8FD9;&#x6837;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A; <code>hunspell</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668; &#xFF1A;</p>
<pre><code class="lang-json">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;en_US&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:     <span class="hljs-string">&quot;hunspell&quot;</span>,
          <span class="hljs-string">&quot;language&quot;</span>: <span class="hljs-string">&quot;en_US&quot;</span>                     &lt;<span class="hljs-number">1</span>&gt;
        }
      },
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;en_US&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>:  <span class="hljs-string">&quot;standard&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>:   [ <span class="hljs-string">&quot;lowercase&quot;</span>, <span class="hljs-string">&quot;en_US&quot;</span> ]
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x53C2;&#x6570; <code>language</code> &#x548C;&#x76EE;&#x5F55;&#x4E0B;&#x5BF9;&#x5E94;&#x7684;&#x540D;&#x79F0;&#x76F8;&#x540C;&#x3002;   </p>
</blockquote>
<p>&#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>analyze</code> API &#x6765;&#x6D4B;&#x8BD5;&#x8FD9;&#x4E2A;&#x65B0;&#x7684;&#x5206;&#x6790;&#x5668;&#xFF0C; &#x7136;&#x540E;&#x548C; <code>english</code> &#x5206;&#x6790;&#x5668;&#x6BD4;&#x8F83;&#x4E00;&#x4E0B;&#x5B83;&#x4EEC;&#x7684;&#x8F93;&#x51FA;&#xFF1A;</p>
<pre><code class="lang-json">GET /my_index/_analyze?analyzer=en_US     &lt;<span class="hljs-number">1</span>&gt;
reorganizes

GET /_analyze?analyzer=english            &lt;<span class="hljs-number">2</span>&gt;
reorganizes
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">   &#x8FD4;&#x56DE; <code>organize</code>   </p>
<p> <img src="assets/2.png" alt="img">   &#x8FD4;&#x56DE; <code>reorgan</code>   </p>
</blockquote>
<p>&#x5728;&#x524D;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;<code>hunspell</code> &#x63D0;&#x53D6;&#x5668;&#x6709;&#x4E00;&#x4E2A;&#x6709;&#x610F;&#x601D;&#x7684;&#x4E8B;&#x60C5;&#xFF0C;&#x5B83;&#x4E0D;&#x4EC5;&#x80FD;&#x79FB;&#x9664;&#x524D;&#x7F00;&#x8FD8;&#x80FD;&#x79FB;&#x9664;&#x540E;&#x7F00;&#x3002;&#x5927;&#x591A;&#x6570;&#x7B97;&#x6CD5;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x4EC5;&#x80FD;&#x79FB;&#x9664;&#x540E;&#x7F00;&#x3002;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  Hunspell &#x8BCD;&#x5178;&#x4F1A;&#x5360;&#x7528;&#x51E0;&#x5146;&#x7684;&#x5185;&#x5B58;&#x3002;&#x5E78;&#x8FD0;&#x7684;&#x662F;&#xFF0C;Elasticsearch &#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x53EA;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x8BCD;&#x5178;&#x7684;&#x5355;&#x4F8B;&#x3002; &#x6240;&#x6709;&#x7684;&#x5206;&#x7247;&#x90FD;&#x4F1A;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x76F8;&#x540C;&#x7684; Hunspell &#x5206;&#x6790;&#x5668;&#x3002;  </p>
</blockquote>
<p><strong>Hunspell &#x8BCD;&#x5178;&#x683C;&#x5F0F;</strong></p>
<p>&#x5C3D;&#x7BA1;&#x4F7F;&#x7528; <code>hunspell</code> &#x4E0D;&#x5FC5;&#x4E86;&#x89E3; Hunspell &#x8BCD;&#x5178;&#x7684;&#x683C;&#x5F0F;&#xFF0C; &#x4E0D;&#x8FC7;&#x4E86;&#x89E3;&#x683C;&#x5F0F;&#x53EF;&#x4EE5;&#x5E2E;&#x52A9;&#x6211;&#x4EEC;&#x7F16;&#x5199;&#x81EA;&#x5DF1;&#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x8BCD;&#x5178;&#x3002;&#x5176;&#x5B9E;&#x5F88;&#x7B80;&#x5355;&#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF0C;&#x5728;&#x7F8E;&#x5F0F;&#x82F1;&#x8BED;&#x8BCD;&#x5178;&#xFF08;US English dictionary&#xFF09;&#xFF0C;<code>en_US.dic</code> &#x6587;&#x4EF6;&#x5305;&#x542B;&#x4E86;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x8BCD; <code>analyze</code> &#x7684;&#x5B9E;&#x4F53;&#xFF0C;&#x770B;&#x8D77;&#x6765;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-text">analyze/ADSG
</code></pre>
<p><code>en_US.aff</code> &#x6587;&#x4EF6;&#x5305;&#x542B;&#x4E86;&#x4E00;&#x4E2A;&#x9488;&#x5BF9;&#x6807;&#x8BB0; <code>A</code> &#x3001; <code>G</code> &#x3001;<code>D</code> &#x548C; <code>S</code> &#x7684;&#x524D;&#x540E;&#x7F00;&#x7684;&#x89C4;&#x5219;&#x3002; &#x5176;&#x4E2D;&#x5E94;&#x8BE5;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#x80FD;&#x5339;&#x914D;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x89C4;&#x5219;&#x7684;&#x683C;&#x5F0F;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-text">[type] [flag] [letters to remove] [letters to add] [condition]
</code></pre>
<p>&#x4F8B;&#x5982;&#xFF0C;&#x4E0B;&#x9762;&#x7684;&#x540E;&#x7F00; (<code>SFX</code>) &#x89C4;&#x5219; <code>D</code> &#x3002;&#x5B83;&#x662F;&#x8BF4;&#xFF0C;&#x5F53;&#x4E00;&#x4E2A;&#x8BCD;&#x7531;&#x4E00;&#x4E2A;&#x8F85;&#x97F3; (&#x9664;&#x4E86; <code>a</code> &#x3001;<code>e</code> &#x3001;<code>i</code> &#x3001;<code>o</code> &#x6216; <code>u</code> &#x5916;&#x7684;&#x4EFB;&#x610F;&#x97F3;&#x8282;) &#x540E;&#x63A5;&#x4E00;&#x4E2A; <code>y</code> &#xFF0C;&#x90A3;&#x4E48;&#x5B83;&#x53EF;&#x4EE5;&#x79FB;&#x9664; <code>y</code> &#x548C;&#x6DFB;&#x52A0; <code>ied</code> &#x7ED3;&#x5C3E; &#xFF08;&#x5982;&#xFF0C;<code>ready</code> &#x2192; <code>readied</code> &#xFF09;&#x3002;</p>
<pre><code class="lang-text">SFX    D      y   ied  [^aeiou]y
</code></pre>
<p>&#x524D;&#x9762;&#x63D0;&#x5230;&#x7684; <code>A</code> &#x3001; <code>G</code> &#x3001;<code>D</code> &#x548C; <code>S</code> &#x6807;&#x8BB0;&#x5BF9;&#x5E94;&#x89C4;&#x5219;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-text">SFX D Y 4
SFX D   0     d          e                  &lt;1&gt;
SFX D   y     ied        [^aeiou]y
SFX D   0     ed         [^ey]
SFX D   0     ed         [aeiou]y

SFX S Y 4
SFX S   y     ies        [^aeiou]y
SFX S   0     s          [aeiou]y
SFX S   0     es         [sxzh]
SFX S   0     s          [^sxzhy]          &lt;2&gt;

SFX G Y 2
SFX G   e     ing        e                 &lt;3&gt;
SFX G   0     ing        [^e]

PFX A Y 1
PFX A   0     re         .                 &lt;4&gt;
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">   <code>analyze</code> &#x4EE5;&#x4E00;&#x4E2A; <code>e</code> &#x7ED3;&#x5C3E;&#xFF0C;&#x6240;&#x4EE5;&#x5B83;&#x53EF;&#x4EE5;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A; <code>d</code> &#x53D8;&#x6210; <code>analyzed</code> &#x3002;   </p>
<p> <img src="assets/2.png" alt="img">   <code>analyze</code> &#x4E0D;&#x662F;&#x7531; <code>s</code> &#x3001;<code>x</code> &#x3001;<code>z</code> &#x3001;<code>h</code> &#x6216; <code>y</code> &#x7ED3;&#x5C3E;&#xFF0C;&#x6240;&#x4EE5;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A; <code>s</code> &#x53D8;&#x6210; <code>analyzes</code> &#x3002;   </p>
<p> <img src="assets/3.png" alt="img">   <code>analyze</code> &#x4EE5;&#x4E00;&#x4E2A; <code>e</code> &#x7ED3;&#x5C3E;&#xFF0C;&#x6240;&#x4EE5;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x79FB;&#x9664; <code>e</code> &#x548C;&#x6DFB;&#x52A0; <code>ing</code> &#x7136;&#x540E;&#x53D8;&#x6210; <code>analyzing</code> &#x3002;   </p>
<p> <img src="assets/4.png" alt="img">  &#x53EF;&#x4EE5;&#x6DFB;&#x52A0;&#x524D;&#x7F00; <code>re</code> &#x6765;&#x5F62;&#x6210; <code>reanalyze</code> &#x3002;&#x8FD9;&#x4E2A;&#x89C4;&#x5219;&#x53EF;&#x4EE5;&#x7EC4;&#x5408;&#x540E;&#x7F00;&#x89C4;&#x5219;&#x4E00;&#x8D77;&#x5F62;&#x6210;&#xFF1A; <code>reanalyzes</code> &#x3001;<code>reanalyzed</code> &#x3001; <code>reanalyzing</code> &#x3002;  </p>
</blockquote>
<p>&#x4E86;&#x89E3;&#x66F4;&#x591A;&#x5173;&#x4E8E; Hunspell &#x7684;&#x8BED;&#x6CD5;&#xFF0C;&#x53EF;&#x4EE5;&#x524D;&#x5F80; <a href="http://sourceforge.net/projects/hunspell/files/Hunspell/Documentation/" target="_blank">Hunspell &#x6587;&#x6863;</a> &#x3002;</p>
<h3 id="&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;"><a name="&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;</h3>
<p>&#x5728;&#x6587;&#x6863; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-stemmer-tokenfilter.html" target="_blank"><code>stemmer</code></a> token filter &#x91CC;&#x9762;&#x5217;&#x51FA;&#x4E86;&#x4E00;&#x4E9B;&#x9488;&#x5BF9;&#x8BED;&#x8A00;&#x7684;&#x82E5;&#x5E72;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002; &#x5C31;&#x82F1;&#x8BED;&#x6765;&#x8BF4;&#x6211;&#x4EEC;&#x6709;&#x5982;&#x4E0B;&#x63D0;&#x53D6;&#x5668;&#xFF1A;</p>
<ul>
<li><p><code>english</code></p>
<p><a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-porterstem-tokenfilter.html" target="_blank"><code>porter_stem</code></a> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF08;token filter&#xFF09;&#x3002;</p>
</li>
<li><p><code>light_english</code></p>
<p><a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-kstem-tokenfilter.html" target="_blank"><code>kstem</code></a> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF08;token filter&#xFF09;&#x3002;</p>
</li>
<li><p><code>minimal_english</code></p>
<p>Lucene &#x91CC;&#x9762;&#x7684; <code>EnglishMinimalStemmer</code> &#xFF0C;&#x7528;&#x6765;&#x79FB;&#x9664;&#x590D;&#x6570;&#x3002;</p>
</li>
<li><p><code>lovins</code></p>
<p>&#x57FA;&#x4E8E; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-snowball-tokenfilter.html" target="_blank">Snowball</a> &#x7684; <a href="http://snowball.tartarus.org/algorithms/lovins/stemmer.html" target="_blank">Lovins</a> &#x63D0;&#x53D6;&#x5668;, &#x7B2C;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x3002;</p>
</li>
<li><p><code>porter</code></p>
<p>&#x57FA;&#x4E8E; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-snowball-tokenfilter.html" target="_blank">Snowball</a> &#x7684; <a href="http://snowball.tartarus.org/algorithms/porter/stemmer.html" target="_blank">Porter</a> &#x63D0;&#x53D6;&#x5668;&#x3002;</p>
</li>
<li><p><code>porter2</code></p>
<p>&#x57FA;&#x4E8E; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-snowball-tokenfilter.html" target="_blank">Snowball</a> &#x7684; <a href="http://snowball.tartarus.org/algorithms/english/stemmer.html" target="_blank">Porter2</a> &#x63D0;&#x53D6;&#x5668;&#x3002;</p>
</li>
<li><p><code>possessive_english</code></p>
<p>Lucene &#x91CC;&#x9762;&#x7684; <code>EnglishPossessiveFilter</code> &#xFF0C;&#x79FB;&#x9664; <code>&apos;s</code></p>
</li>
</ul>
<p>Hunspell &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4E5F;&#x8981;&#x7EB3;&#x5165;&#x5230;&#x4E0A;&#x9762;&#x7684;&#x5217;&#x8868;&#x4E2D;&#xFF0C;&#x8FD8;&#x6709;&#x591A;&#x79CD;&#x82F1;&#x6587;&#x7684;&#x8BCD;&#x5178;&#x53EF;&#x7528;&#x3002;</p>
<p>&#x6709;&#x4E00;&#x70B9;&#x662F;&#x53EF;&#x4EE5;&#x80AF;&#x5B9A;&#x7684;&#xFF1A;&#x5F53;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#x5B58;&#x5728;&#x591A;&#x4E2A;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x8FD9;&#x610F;&#x5473;&#x7740;&#x6CA1;&#x6709;&#x4E00;&#x4E2A;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x5145;&#x5206;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x3002; &#x8FD9;&#x4E00;&#x70B9;&#x540C;&#x6837;&#x4F53;&#x73B0;&#x5728;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x4E0A;&#x2009;&#x2014;&#x2009;&#x6BCF;&#x4E2A;&#x63D0;&#x53D6;&#x5668;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x65B9;&#x6CD5;&#x4E0D;&#x540C;&#x7A0B;&#x5EA6;&#x7684;&#x5BF9;&#x5355;&#x8BCD;&#x8FDB;&#x884C;&#x4E86;&#x5F31;&#x63D0;&#x53D6;&#x6216;&#x662F;&#x8FC7;&#x5EA6;&#x63D0;&#x53D6;&#x3002;</p>
<p>&#x5728; <code>stemmer</code> &#x6587;&#x6863; &#x4E2D;&#xFF0C;&#x4F7F;&#x7528;&#x7C97;&#x4F53;&#x9AD8;&#x4EAE;&#x4E86;&#x6BCF;&#x4E00;&#x4E2A;&#x8BED;&#x8A00;&#x7684;&#x63A8;&#x8350;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF0C; &#x901A;&#x5E38;&#x662F;&#x56E0;&#x4E3A;&#x5B83;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4E2A;&#x5728;&#x6027;&#x80FD;&#x548C;&#x8D28;&#x91CF;&#x4E4B;&#x95F4;&#x5408;&#x7406;&#x7684;&#x59A5;&#x534F;&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;&#x63A8;&#x8350;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4E5F;&#x8BB8;&#x4E0D;&#x9002;&#x7528;&#x6240;&#x6709;&#x573A;&#x666F;&#x3002; &#x5173;&#x4E8E;&#x54EA;&#x4E2A;&#x662F;&#x6700;&#x597D;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x4E0D;&#x5B58;&#x5728;&#x4E00;&#x4E2A;&#x552F;&#x4E00;&#x7684;&#x6B63;&#x786E;&#x7B54;&#x6848;&#x2009;&#x2014;&#x2009;&#x5B83;&#x8981;&#x770B;&#x4F60;&#x5177;&#x4F53;&#x7684;&#x9700;&#x6C42;&#x3002; &#x8FD9;&#x91CC;&#x6709;3&#x4E2A;&#x65B9;&#x9762;&#x7684;&#x56E0;&#x7D20;&#x9700;&#x8981;&#x8003;&#x8651;&#x5728;&#x5185;&#xFF1A; &#x6027;&#x80FD;&#x3001;&#x8D28;&#x91CF;&#x3001;&#x7A0B;&#x5EA6;&#x3002;</p>
<p><strong>&#x63D0;&#x53D6;&#x6027;&#x80FD;</strong></p>
<p>&#x7B97;&#x6CD5;&#x63D0;&#x53D6;&#x5668;&#x4E00;&#x822C;&#x6765;&#x8BF4;&#x6BD4; Hunspell &#x63D0;&#x53D6;&#x5668;&#x5FEB;4&#x5230;5&#x500D;&#x3002; &#x201C;Handcrafted&#x201D; &#x7B97;&#x6CD5;&#x63D0;&#x53D6;&#x5668;&#x901A;&#x5E38;&#xFF08;&#x4E0D;&#x662F;&#x6C38;&#x8FDC;&#xFF09; &#x8981;&#x6BD4; Snowball &#x5FEB;&#x6216;&#x662F;&#x5DEE;&#x4E0D;&#x591A;&#x3002; &#x6BD4;&#x5982;&#xFF0C;<code>porter_stem</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF08;token filter&#xFF09;&#x5C31;&#x660E;&#x663E;&#x8981;&#x6BD4;&#x57FA;&#x4E8E; Snowball &#x5B9E;&#x73B0;&#x7684; Porter &#x63D0;&#x53D6;&#x5668;&#x8981;&#x5FEB;&#x7684;&#x591A;&#x3002;</p>
<p>Hunspell &#x63D0;&#x53D6;&#x5668;&#x9700;&#x8981;&#x52A0;&#x8F7D;&#x6240;&#x6709;&#x7684;&#x8BCD;&#x5178;&#x3001;&#x524D;&#x7F00;&#x548C;&#x540E;&#x7F00;&#x8868;&#x5230;&#x5185;&#x5B58;&#xFF0C;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x6D88;&#x8017;&#x51E0;&#x5146;&#x7684;&#x5185;&#x5B58;&#x3002;&#x800C;&#x7B97;&#x6CD5;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x7531;&#x4E00;&#x70B9;&#x70B9;&#x4EE3;&#x7801;&#x7EC4;&#x6210;&#xFF0C;&#x53EA;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x5F88;&#x5C11;&#x5185;&#x5B58;&#x3002;</p>
<p><strong>&#x63D0;&#x53D6;&#x8D28;&#x91CF;</strong></p>
<p>&#x6240;&#x6709;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x9664;&#x4E86;&#x4E16;&#x754C;&#x8BED;&#xFF08;Esperanto&#xFF09;&#x90FD;&#x662F;&#x4E0D;&#x89C4;&#x8303;&#x7684;&#x3002; &#x6700;&#x65E5;&#x5E38;&#x7528;&#x8BED;&#x4F7F;&#x7528;&#x7684;&#x8BCD;&#x5F80;&#x5F80;&#x4E0D;&#x89C4;&#x5219;&#xFF0C;&#x800C;&#x66F4;&#x6B63;&#x5F0F;&#x7684;&#x4E66;&#x9762;&#x7528;&#x8BED;&#x5219;&#x5F80;&#x5F80;&#x9075;&#x5FAA;&#x89C4;&#x5F8B;&#x3002; &#x4E00;&#x4E9B;&#x63D0;&#x53D6;&#x7B97;&#x6CD5;&#x7ECF;&#x8FC7;&#x591A;&#x5E74;&#x7684;&#x5F00;&#x53D1;&#x548C;&#x7814;&#x7A76;&#x5DF2;&#x7ECF;&#x80FD;&#x591F;&#x4EA7;&#x751F;&#x5408;&#x7406;&#x7684;&#x9AD8;&#x8D28;&#x91CF;&#x7684;&#x7ED3;&#x679C;&#x4E86;&#xFF0C;&#x5176;&#x4ED6;&#x4EBA;&#x53EA;&#x9700;&#x5FEB;&#x901F;&#x7EC4;&#x88C5;&#x505A;&#x5F88;&#x5C11;&#x7684;&#x7814;&#x7A76;&#x5C31;&#x80FD;&#x89E3;&#x51B3;&#x5927;&#x90E8;&#x5206;&#x7684;&#x95EE;&#x9898;&#x4E86;&#x3002;</p>
<p>&#x867D;&#x7136; Hunspell &#x63D0;&#x4F9B;&#x4E86;&#x7CBE;&#x786E;&#x5730;&#x5904;&#x7406;&#x4E0D;&#x89C4;&#x5219;&#x8BCD;&#x8BED;&#x7684;&#x627F;&#x8BFA;&#xFF0C;&#x4F46;&#x5728;&#x5B9E;&#x8DF5;&#x4E2D;&#x5F80;&#x5F80;&#x4E0D;&#x8DB3;&#x3002; &#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x8BCD;&#x5178;&#x7684;&#x63D0;&#x53D6;&#x5668;&#x5F80;&#x5F80;&#x53D6;&#x51B3;&#x4E8E;&#x8BCD;&#x5178;&#x7684;&#x597D;&#x574F;&#x3002;&#x5982;&#x679C; Hunspell &#x78B0;&#x5230;&#x7684;&#x8FD9;&#x4E2A;&#x8BCD;&#x4E0D;&#x5728;&#x8BCD;&#x5178;&#x91CC;&#xFF0C;&#x90A3;&#x5B83;&#x4EC0;&#x4E48;&#x4E5F;&#x4E0D;&#x80FD;&#x505A;&#x3002; Hunspell &#x9700;&#x8981;&#x4E00;&#x4E2A;&#x5E7F;&#x6CDB;&#x7684;&#x3001;&#x9AD8;&#x8D28;&#x91CF;&#x7684;&#x3001;&#x6700;&#x65B0;&#x7684;&#x8BCD;&#x5178;&#x4EE5;&#x4EA7;&#x751F;&#x597D;&#x7684;&#x7ED3;&#x679C;&#xFF1B;&#x8FD9;&#x6837;&#x7EA7;&#x522B;&#x7684;&#x8BCD;&#x5178;&#x53EF;&#x8C13;&#x5C11;&#x4E4B;&#x53C8;&#x5C11;&#x3002; &#x53E6;&#x4E00;&#x65B9;&#x9762;&#xFF0C;&#x4E00;&#x4E2A;&#x7B97;&#x6CD5;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x5C06;&#x6109;&#x5FEB;&#x7684;&#x5904;&#x7406;&#x65B0;&#x8BCD;&#x800C;&#x4E0D;&#x7528;&#x4E3A;&#x65B0;&#x8BCD;&#x91CD;&#x65B0;&#x8BBE;&#x8BA1;&#x7B97;&#x6CD5;&#x3002;</p>
<p>&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x7B97;&#x6CD5;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x53EF;&#x7528;&#x4E8E;&#x4F60;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x90A3;&#x660E;&#x667A;&#x7684;&#x4F7F;&#x7528;&#x5B83;&#x800C;&#x4E0D;&#x662F; Hunspell&#x3002;&#x5B83;&#x4F1A;&#x66F4;&#x5FEB;&#x5E76;&#x4E14;&#x6D88;&#x8017;&#x66F4;&#x5C11;&#x5185;&#x5B58;&#xFF0C;&#x5E76;&#x4E14;&#x4F1A;&#x4EA7;&#x751F;&#x548C;&#x901A;&#x5E38;&#x4E00;&#x6837;&#x597D;&#x6216;&#x8005;&#x6BD4; Hunspell &#x7B49;&#x4EF7;&#x7684;&#x7ED3;&#x679C;.</p>
<p>&#x5982;&#x679C;&#x7CBE;&#x5EA6;&#x548C;&#x53EF;&#x5B9A;&#x5236;&#x6027;&#x5BF9;&#x4F60;&#x5F88;&#x91CD;&#x8981;&#xFF0C;&#x90A3;&#x4E48;&#x4F60;&#x9700;&#x8981;&#xFF08;&#x548C;&#x6709;&#x7CBE;&#x529B;&#xFF09;&#x6765;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x8BCD;&#x5178;&#xFF0C;&#x90A3;&#x4E48; Hunspell &#x4F1A;&#x7ED9;&#x4F60;&#x6BD4;&#x7B97;&#x6CD5;&#x63D0;&#x53D6;&#x5668;&#x66F4;&#x5927;&#x7684;&#x7075;&#x6D3B;&#x6027;&#x3002; (&#x67E5;&#x770B; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/controlling-stemming.html" target="_blank">&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a> &#x6765;&#x4E86;&#x89E3;&#x53EF;&#x7528;&#x4E8E;&#x4EFB;&#x4F55;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x6280;&#x672F;&#x3002;)</p>
<p><strong>&#x63D0;&#x53D6;&#x7A0B;&#x5EA6;</strong></p>
<p>&#x4E0D;&#x540C;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4F1A;&#x5C06;&#x8BCD;&#x5F31;&#x63D0;&#x53D6;&#x6216;&#x8FC7;&#x5EA6;&#x63D0;&#x53D6;&#x5230;&#x4E00;&#x5B9A;&#x7684;&#x7A0B;&#x5EA6; &#x3002; <code>light_</code> &#x63D0;&#x53D6;&#x5668;&#x63D0;&#x5E72;&#x529B;&#x5EA6;&#x4E0D;&#x53CA;&#x6807;&#x51C6;&#x7684;&#x63D0;&#x53D6;&#x5668;&#x3002; <code>minimal_</code> &#x63D0;&#x53D6;&#x5668;&#x540C;&#x6837;&#x4E5F;&#x4E0D;&#x90A3;&#x4E48;&#x79EF;&#x6781;&#x3002;Hunspell &#x63D0;&#x53D6;&#x529B;&#x5EA6;&#x8981;&#x6FC0;&#x8FDB;&#x4E00;&#x4E9B;&#x3002;</p>
<p>&#x662F;&#x5426;&#x60F3;&#x8981;&#x79EF;&#x6781;&#x63D0;&#x53D6;&#x8FD8;&#x662F;&#x8F7B;&#x91CF;&#x63D0;&#x53D6;&#x53D6;&#x51B3;&#x4E8E;&#x4F60;&#x7684;&#x573A;&#x666F;&#x3002;&#x5982;&#x679C;&#x4F60;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x662F;&#x8981;&#x7528;&#x4E8E;&#x805A;&#x7C7B;&#x7B97;&#x6CD5;&#xFF0C;&#x4F60;&#x53EF;&#x80FD;&#x4F1A;&#x5E0C;&#x671B;&#x5339;&#x914D;&#x7684;&#x66F4;&#x5E7F;&#x6CDB;&#x4E00;&#x70B9;&#xFF08;&#x56E0;&#x6B64;&#xFF0C;&#x63D0;&#x53D6;&#x529B;&#x5EA6;&#x8981;&#x66F4;&#x5927;&#x4E00;&#x70B9;&#xFF09;&#x3002; &#x5982;&#x679C;&#x4F60;&#x7684;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x662F;&#x9762;&#x5411;&#x6700;&#x7EC8;&#x7528;&#x6237;&#xFF0C;&#x8F7B;&#x91CF;&#x7684;&#x63D0;&#x53D6;&#x4E00;&#x822C;&#x4F1A;&#x4EA7;&#x751F;&#x66F4;&#x597D;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x5BF9;&#x641C;&#x7D22;&#x6765;&#x8BF4;&#xFF0C;&#x5C06;&#x540D;&#x79F0;&#x548C;&#x5F62;&#x5BB9;&#x8BCD;&#x63D0;&#x5E72;&#x6BD4;&#x52A8;&#x8BCD;&#x63D0;&#x5E72;&#x66F4;&#x91CD;&#x8981;&#xFF0C;&#x5F53;&#x7136;&#x8FD9;&#x4E5F;&#x53D6;&#x51B3;&#x4E8E;&#x8BED;&#x8A00;&#x3002;</p>
<p>&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x8981;&#x8003;&#x8651;&#x7684;&#x56E0;&#x7D20;&#x5C31;&#x662F;&#x4F60;&#x7684;&#x6587;&#x6863;&#x96C6;&#x7684;&#x5927;&#x5C0F;&#x3002; &#x4E00;&#x4E2A;&#x53EA;&#x6709; 10,000 &#x4E2A;&#x4EA7;&#x54C1;&#x7684;&#x5C0F;&#x96C6;&#x5408;&#xFF0C;&#x4F60;&#x53EF;&#x80FD;&#x8981;&#x66F4;&#x6FC0;&#x8FDB;&#x7684;&#x63D0;&#x5E72;&#x6765;&#x786E;&#x4FDD;&#x81F3;&#x5C11;&#x5339;&#x914D;&#x5230;&#x4E00;&#x4E9B;&#x6587;&#x6863;&#x3002; &#x5982;&#x679C;&#x4F60;&#x7684;&#x6587;&#x6863;&#x96C6;&#x5F88;&#x5927;&#xFF0C;&#x4F7F;&#x7528;&#x8F7B;&#x91CF;&#x7684;&#x5F31;&#x63D0;&#x53D6;&#x53EF;&#x80FD;&#x4F1A;&#x5F97;&#x5230;&#x66F4;&#x597D;&#x7684;&#x5339;&#x914D;&#x7ED3;&#x679C;&#x3002;</p>
<p><strong>&#x505A;&#x4E00;&#x4E2A;&#x9009;&#x62E9;</strong></p>
<p>&#x4ECE;&#x63A8;&#x8350;&#x7684;&#x4E00;&#x4E2A;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x51FA;&#x53D1;&#xFF0C;&#x5982;&#x679C;&#x5B83;&#x5DE5;&#x4F5C;&#x7684;&#x5F88;&#x597D;&#xFF0C;&#x90A3;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x9700;&#x8981;&#x8C03;&#x6574;&#x7684;&#x3002;&#x5982;&#x679C;&#x4E0D;&#x662F;&#xFF0C;&#x4F60;&#x5C06;&#x9700;&#x8981;&#x82B1;&#x70B9;&#x65F6;&#x95F4;&#x6765;&#x8C03;&#x67E5;&#x548C;&#x6BD4;&#x8F83;&#x8BE5;&#x8BED;&#x8A00;&#x53EF;&#x7528;&#x7684;&#x5404;&#x79CD;&#x4E0D;&#x540C;&#x63D0;&#x53D6;&#x5668;&#xFF0C; &#x6765;&#x627E;&#x5230;&#x6700;&#x9002;&#x5408;&#x4F60;&#x76EE;&#x7684;&#x7684;&#x90A3;&#x4E00;&#x4E2A;&#x3002;</p>
<h3 id="&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;"><a name="&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;" class="anchor-navigation-ex-anchor" href="#&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x63A7;&#x5236;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</h3>
<p>&#x5F00;&#x7BB1;&#x5373;&#x7528;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x65B9;&#x6848;&#x6C38;&#x8FDC;&#x4E5F;&#x4E0D;&#x53EF;&#x80FD;&#x5B8C;&#x7F8E;&#x3002; &#x5C24;&#x5176;&#x662F;&#x7B97;&#x6CD5;&#x63D0;&#x53D6;&#x5668;&#xFF0C;&#x4ED6;&#x4EEC;&#x53EF;&#x4EE5;&#x6109;&#x5FEB;&#x7684;&#x5C06;&#x89C4;&#x5219;&#x5E94;&#x7528;&#x4E8E;&#x4EFB;&#x4F55;&#x4ED6;&#x4EEC;&#x9047;&#x5230;&#x7684;&#x8BCD;&#xFF0C;&#x5305;&#x542B;&#x90A3;&#x4E9B;&#x4F60;&#x5E0C;&#x671B;&#x4FDD;&#x6301;&#x72EC;&#x7ACB;&#x7684;&#x8BCD;&#x3002; &#x4E5F;&#x8BB8;&#xFF0C;&#x5728;&#x4F60;&#x7684;&#x573A;&#x666F;&#xFF0C;&#x4FDD;&#x6301;&#x72EC;&#x7ACB;&#x7684; <code>skies</code> &#x548C; <code>skiing</code> &#x662F;&#x91CD;&#x8981;&#x7684;&#xFF0C;&#x4F60;&#x4E0D;&#x5E0C;&#x671B;&#x628A;&#x4ED6;&#x4EEC;&#x63D0;&#x53D6;&#x4E3A; <code>ski</code> &#xFF08;&#x6B63;&#x5982; <code>english</code> &#x5206;&#x6790;&#x5668;&#x90A3;&#x6837;&#xFF09;&#x3002;</p>
<p>&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-keyword-marker-tokenfilter.html" target="_blank"><code>keyword_marker</code></a> &#x548C; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-stemmer-override-tokenfilter.html" target="_blank"><code>stemmer_override</code></a> &#x80FD;&#x8BA9;&#x6211;&#x4EEC;&#x81EA;&#x5B9A;&#x4E49;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x8FC7;&#x7A0B;&#x3002;</p>
<p><strong>&#x963B;&#x6B62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</strong></p>
<p>&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#xFF08;&#x67E5;&#x770B; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/configuring-language-analyzers.html" target="_blank">&#x914D;&#x7F6E;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;</a>&#xFF09;&#x7684;&#x53C2;&#x6570; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/configuring-language-analyzers.html#stem-exclusion" target="_blank"><code>stem_exclusion</code></a> &#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x8BCD;&#x8BED;&#x5217;&#x8868;&#xFF0C;&#x8BA9;&#x4ED6;&#x4EEC;&#x4E0D;&#x88AB;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x3002;</p>
<p>&#x5728;&#x5185;&#x90E8;&#xFF0C;&#x8FD9;&#x4E9B;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-keyword-marker-tokenfilter.html" target="_blank"><code>keyword_marker</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;</a> &#x6765;&#x6807;&#x8BB0;&#x8FD9;&#x4E9B;&#x8BCD;&#x8BED;&#x5217;&#x8868;&#x4E3A; <em>keywords</em> &#xFF0C;&#x7528;&#x6765;&#x963B;&#x6B62;&#x540E;&#x7EED;&#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x8FC7;&#x6EE4;&#x5668;&#x6765;&#x89E6;&#x78B0;&#x8FD9;&#x4E9B;&#x8BCD;&#x8BED;&#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF0C;&#x6211;&#x4EEC;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x81EA;&#x5B9A;&#x4E49;&#x5206;&#x6790;&#x5668;&#xFF0C;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-porterstem-tokenfilter.html" target="_blank"><code>porter_stem</code></a> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x540C;&#x65F6;&#x963B;&#x6B62; <code>skies</code> &#x7684;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#xFF1A;</p>
<pre><code class="lang-json">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;no_stem&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;keyword_marker&quot;</span>,
          <span class="hljs-string">&quot;keywords&quot;</span>: [ <span class="hljs-string">&quot;skies&quot;</span> ]         &lt;<span class="hljs-number">1</span>&gt;
        }
      },
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;my_english&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;standard&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>: [
            <span class="hljs-string">&quot;lowercase&quot;</span>,
            <span class="hljs-string">&quot;no_stem&quot;</span>,
            <span class="hljs-string">&quot;porter_stem&quot;</span>
          ]
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x53C2;&#x6570; <code>keywords</code> &#x53EF;&#x4EE5;&#x5141;&#x8BB8;&#x63A5;&#x6536;&#x591A;&#x4E2A;&#x8BCD;&#x8BED;&#x3002; </p>
</blockquote>
<p>&#x4F7F;&#x7528; <code>analyze</code> API &#x6765;&#x6D4B;&#x8BD5;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x8BCD; <code>skies</code> &#x6CA1;&#x6709;&#x88AB;&#x63D0;&#x53D6;&#xFF1A;</p>
<pre><code class="lang-json">GET /my_index/_analyze?analyzer=my_english
sky skies skiing skis                            &lt;<span class="hljs-number">1</span>&gt;
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD4;&#x56DE;: <code>sky</code>, <code>skies</code>, <code>ski</code>, <code>ski</code>  </p>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x867D;&#x7136;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;&#x53EA;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x53C2;&#x6570; <code>stem_exclusion</code> &#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x8BCD;&#x8BED;&#x5217;&#x8868;&#x6765;&#x6392;&#x9664;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#xFF0C;&#x4E0D;&#x8FC7; <code>keyword_marker</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x540C;&#x6837;&#x8FD8;&#x63A5;&#x6536;&#x4E00;&#x4E2A; <code>keywords_path</code> &#x53C2;&#x6570;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x5C06;&#x6240;&#x6709;&#x7684;&#x5173;&#x952E;&#x5B57;&#x5B58;&#x5728;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x3002; &#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#x5E94;&#x8BE5;&#x662F;&#x6BCF;&#x884C;&#x4E00;&#x4E2A;&#x5B57;&#xFF0C;&#x5E76;&#x4E14;&#x5B58;&#x5728;&#x4E8E;&#x96C6;&#x7FA4;&#x7684;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x3002;&#x67E5;&#x770B; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/using-stopwords.html#updating-stopwords" target="_blank">&#x66F4;&#x65B0;&#x505C;&#x7528;&#x8BCD;&#xFF08;Updating Stopwords&#xFF09;</a> &#x4E86;&#x89E3;&#x66F4;&#x65B0;&#x8FD9;&#x4E9B;&#x6587;&#x4EF6;&#x7684;&#x63D0;&#x793A;&#x3002;  </p>
</blockquote>
<p><strong>&#x81EA;&#x5B9A;&#x4E49;&#x63D0;&#x53D6;</strong></p>
<p>&#x5728;&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x963B;&#x6B62;&#x4E86; <code>skies</code> &#x88AB;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#xFF0C;&#x4F46;&#x662F;&#x4E5F;&#x8BB8;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x4ED6;&#x80FD;&#x88AB;&#x63D0;&#x5E72;&#x4E3A; <code>sky</code> &#x3002; The<a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-stemmer-override-tokenfilter.html" target="_blank"><code>stemmer_override</code></a> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x6307;&#x5B9A;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x63D0;&#x53D6;&#x89C4;&#x5219;&#x3002; &#x4E0E;&#x6B64;&#x540C;&#x65F6;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5904;&#x7406;&#x4E00;&#x4E9B;&#x4E0D;&#x89C4;&#x5219;&#x7684;&#x5F62;&#x5F0F;&#xFF0C;&#x5982;&#xFF1A;<code>mice</code> &#x63D0;&#x53D6;&#x4E3A; <code>mouse</code> &#x548C; <code>feet</code> &#x5230; <code>foot</code> &#xFF1A;</p>
<pre><code class="lang-json">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;custom_stem&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;stemmer_override&quot;</span>,
          <span class="hljs-string">&quot;rules&quot;</span>: [                        &lt;1&gt;
            &quot;skies=&gt;sky&quot;,
            &quot;mice=&gt;mouse&quot;,
            &quot;feet=&gt;foot&quot;
          ]
        }
      },
      &quot;analyzer&quot;: {
        &quot;my_english&quot;: {
          &quot;tokenizer&quot;: &quot;standard&quot;,
          &quot;filter&quot;: [
            &quot;lowercase&quot;,
            &quot;custom_stem&quot;,                   &lt;2&gt;
            &quot;porter_stem&quot;
          ]
        }
      }
    }
  }
}

GET /my_index/_analyze?analyzer=my_english
The mice came down from the skies and ran over my feet     &lt;3&gt;
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x89C4;&#x5219;&#x6765;&#x81EA; <code>original=&gt;stem</code> &#x3002;    </p>
<p> <img src="assets/2.png" alt="img">  <code>stemmer_override</code> &#x8FC7;&#x6EE4;&#x5668;&#x5FC5;&#x987B;&#x653E;&#x7F6E;&#x5728;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4E4B;&#x524D;&#x3002;     </p>
<p> <img src="assets/3.png" alt="img">   &#x8FD4;&#x56DE; <code>the</code>, <code>mouse</code>, <code>came</code>, <code>down</code>, <code>from</code>, <code>the</code>, <code>sky</code>, <code>and</code>, <code>ran</code>, <code>over</code>, <code>my</code>, <code>foot</code> &#x3002;   </p>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x6B63;&#x5982; <code>keyword_marker</code> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x89C4;&#x5219;&#x53EF;&#x4EE5;&#x88AB;&#x5B58;&#x653E;&#x5728;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x4E2D;&#xFF0C;&#x901A;&#x8FC7;&#x53C2;&#x6570; <code>rules_path</code> &#x6765;&#x6307;&#x5B9A;&#x4F4D;&#x7F6E;&#x3002;  </p>
</blockquote>
<h3 id="&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;"><a name="&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;" class="anchor-navigation-ex-anchor" href="#&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</h3>
<p>&#x4E3A;&#x4E86;&#x5B8C;&#x6574;&#x5730; &#x5B8C;&#x6210;&#x672C;&#x7AE0;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x8BB2;&#x89E3;&#x5982;&#x4F55;&#x5C06;&#x5DF2;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x8BCD;&#x548C;&#x539F;&#x8BCD;&#x7D22;&#x5F15;&#x5230;&#x540C;&#x4E00;&#x4E2A;&#x5B57;&#x6BB5;&#x4E2D;&#x3002;&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;&#xFF0C;&#x5206;&#x6790;&#x53E5;&#x5B50; <em>The quick foxes jumped</em> &#x5C06;&#x4F1A;&#x5F97;&#x5230;&#x4EE5;&#x4E0B;&#x8BCD;&#x9879;&#xFF1A;</p>
<pre><code class="lang-text">Pos 1: (the)
Pos 2: (quick)
Pos 3: (foxes,fox)      &lt;1&gt;
Pos 4: (jumped,jump)    &lt;2&gt;
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <img src="assets/2.png" alt="img">  &#x5DF2;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x5F62;&#x5F0F;&#x548C;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x5F62;&#x5F0F;&#x4F4D;&#x4E8E;&#x76F8;&#x540C;&#x7684;&#x4F4D;&#x7F6E;&#x3002;   </p>
</blockquote>
<p>Warning&#xFF1A;&#x4F7F;&#x7528;&#x6B64;&#x65B9;&#x6CD5;&#x524D;&#x8BF7;&#x5148;&#x9605;&#x8BFB; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stemming-in-situ.html#stemming-in-situ-good-idea" target="_blank">&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x662F;&#x4E2A;&#x597D;&#x4E3B;&#x610F;&#x5417;</a> &#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x5F52;&#x6863;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x51FA;&#x7684; <em>&#x539F;&#x5F62;</em> &#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x4F7F;&#x7528; <a href="http://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-keyword-repeat-tokenfilter.html" target="_blank"><code>keyword_repeat</code></a> &#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x8DDF; <code>keyword_marker</code> &#x8FC7;&#x6EE4;&#x5668; ( see <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/controlling-stemming.html#preventing-stemming" target="_blank">&#x963B;&#x6B62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;</a> ) &#x4E00;&#x6837;&#xFF0C;&#x5B83;&#x628A;&#x6BCF;&#x4E00;&#x4E2A;&#x8BCD;&#x9879;&#x90FD;&#x6807;&#x8BB0;&#x4E3A;&#x5173;&#x952E;&#x8BCD;&#xFF0C;&#x4EE5;&#x9632;&#x6B62;&#x540E;&#x7EED;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5BF9;&#x5176;&#x4FEE;&#x6539;&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x5B83;&#x4F9D;&#x7136;&#x4F1A;&#x5728;&#x76F8;&#x540C;&#x4F4D;&#x7F6E;&#x4E0A;&#x91CD;&#x590D;&#x8BCD;&#x9879;&#xFF0C;&#x5E76;&#x4E14;&#x8FD9;&#x4E2A;&#x91CD;&#x590D;&#x7684;&#x8BCD;&#x9879; <strong>&#x662F;</strong> &#x63D0;&#x53D6;&#x7684;&#x8BCD;&#x5E72;&#x3002;</p>
<p>&#x5355;&#x72EC;&#x4F7F;&#x7528; <code>keyword_repeat</code> token &#x8FC7;&#x6EE4;&#x5668;&#x5C06;&#x5F97;&#x5230;&#x4EE5;&#x4E0B;&#x7ED3;&#x679C;&#xFF1A;</p>
<pre><code class="lang-text">Pos 1: (the,the)           &lt;1&gt;
Pos 2: (quick,quick)       &lt;2&gt;
Pos 3: (foxes,fox)
Pos 4: (jumped,jump)
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <img src="assets/2.png" alt="img">  &#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x524D;&#x540E;&#x7684;&#x5F62;&#x5F0F;&#x4E00;&#x6837;&#xFF0C;&#x6240;&#x4EE5;&#x53EA;&#x662F;&#x4E0D;&#x5FC5;&#x8981;&#x7684;&#x91CD;&#x590D;&#x3002;   </p>
</blockquote>
<p>&#x4E3A;&#x4E86;&#x9632;&#x6B62;&#x63D0;&#x53D6;&#x548C;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x5F62;&#x5F0F;&#x76F8;&#x540C;&#x7684;&#x8BCD;&#x9879;&#x4E2D;&#x7684;&#x65E0;&#x610F;&#x4E49;&#x91CD;&#x590D;&#xFF0C;&#x6211;&#x4EEC;&#x589E;&#x52A0;&#x4E86;&#x7EC4;&#x5408;&#x7684; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-unique-tokenfilter.html" target="_blank"><code>unique</code></a> &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF1A;</p>
<pre><code class="lang-json">PUT /my_index
{
  <span class="hljs-string">&quot;settings&quot;</span>: {
    <span class="hljs-string">&quot;analysis&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;unique_stem&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;unique&quot;</span>,
          <span class="hljs-string">&quot;only_on_same_position&quot;</span>: <span class="hljs-literal">true</span>    &lt;<span class="hljs-number">1</span>&gt;
        }
      },
      <span class="hljs-string">&quot;analyzer&quot;</span>: {
        <span class="hljs-string">&quot;in_situ&quot;</span>: {
          <span class="hljs-string">&quot;tokenizer&quot;</span>: <span class="hljs-string">&quot;standard&quot;</span>,
          <span class="hljs-string">&quot;filter&quot;</span>: [
            <span class="hljs-string">&quot;lowercase&quot;</span>,
            <span class="hljs-string">&quot;keyword_repeat&quot;</span>,              &lt;2&gt;
            &quot;porter_stem&quot;,
            &quot;unique_stem&quot;                  &lt;3&gt;
          ]
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8BBE;&#x7F6E; <code>unique</code> &#x7C7B;&#x578B;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x662F;&#x4E3A;&#x4E86;&#x53EA;&#x6709;&#x5F53;&#x91CD;&#x590D;&#x8BED;&#x6C47;&#x5355;&#x5143;&#x51FA;&#x73B0;&#x5728;&#x76F8;&#x540C;&#x4F4D;&#x7F6E;&#x65F6;&#xFF0C;&#x79FB;&#x9664;&#x5B83;&#x4EEC;&#x3002;<br> <img src="assets/2.png" alt="img">  &#x8BED;&#x6C47;&#x5355;&#x5143;&#x8FC7;&#x6EE4;&#x5668;&#x5FC5;&#x987B;&#x51FA;&#x73B0;&#x5728;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x4E4B;&#x524D;&#x3002;   </p>
<p> <img src="assets/3.png" alt="img">  <code>unique_stem</code> &#x8FC7;&#x6EE4;&#x5668;&#x662F;&#x5728;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x5668;&#x5B8C;&#x6210;&#x4E4B;&#x540E;&#x79FB;&#x9664;&#x91CD;&#x590D;&#x8BCD;&#x9879;&#x3002;   </p>
</blockquote>
<p><strong>&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x662F;&#x4E2A;&#x597D;&#x4E3B;&#x610F;&#x5417;</strong></p>
<p>&#x7528;&#x6237;&#x559C;&#x6B22; <em>&#x539F;&#x5F62;</em> &#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x8FD9;&#x4E2A;&#x4E3B;&#x610F;&#xFF1A;&#x201C;&#x5982;&#x679C;&#x6211;&#x53EF;&#x4EE5;&#x53EA;&#x7528;&#x4E00;&#x4E2A;&#x7EC4;&#x5408;&#x5B57;&#x6BB5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8FD8;&#x8981;&#x5206;&#x522B;&#x5B58;&#x4E00;&#x4E2A;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x548C;&#x5DF2;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x5B57;&#x6BB5;&#x5462;&#xFF1F;&#x201D; &#x4F46;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x4E3B;&#x610F;&#x5417;&#xFF1F;&#x7B54;&#x6848;&#x4E00;&#x76F4;&#x90FD;&#x662F;&#x5426;&#x5B9A;&#x7684;&#x3002;&#x56E0;&#x4E3A;&#x6709;&#x4E24;&#x4E2A;&#x95EE;&#x9898;&#xFF1A;</p>
<p>&#x7B2C;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#x662F;&#x65E0;&#x6CD5;&#x533A;&#x5206;&#x7CBE;&#x51C6;&#x5339;&#x914D;&#x548C;&#x975E;&#x7CBE;&#x51C6;&#x5339;&#x914D;&#x3002;&#x672C;&#x7AE0;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x770B;&#x5230;&#x4E86;&#x591A;&#x4E49;&#x8BCD;&#x7ECF;&#x5E38;&#x4F1A;&#x88AB;&#x5C55;&#x5F00;&#x6210;&#x76F8;&#x540C;&#x7684;&#x8BCD;&#x5E72;&#x8BCD;&#xFF1A;<code>organs</code> &#x548C; <code>organization</code> &#x90FD;&#x4F1A;&#x88AB;&#x63D0;&#x53D6;&#x4E3A; <code>organ</code> &#x3002;</p>
<p>&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/using-language-analyzers.html" target="_blank">&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x5206;&#x6790;&#x5668;</a> &#x6211;&#x4EEC;&#x5C55;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x6574;&#x5408;&#x4E00;&#x4E2A;&#x5DF2;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x5C5E;&#x6027;&#x7684;&#x67E5;&#x8BE2;(&#x4E3A;&#x4E86;&#x589E;&#x52A0;&#x53EC;&#x56DE;&#x7387;)&#x548C;&#x4E00;&#x4E2A;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x5C5E;&#x6027;&#x7684;&#x67E5;&#x8BE2;&#xFF08;&#x4E3A;&#x4E86;&#x63D0;&#x5347;&#x76F8;&#x5173;&#x5EA6;&#xFF09;&#x3002; &#x5F53;&#x63D0;&#x53D6;&#x548C;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x5C5E;&#x6027;&#x76F8;&#x4E92;&#x72EC;&#x7ACB;&#x65F6;&#xFF0C;&#x5355;&#x4E2A;&#x5C5E;&#x6027;&#x7684;&#x8D21;&#x732E;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x7ED9;&#x5176;&#x4E2D;&#x4E00;&#x4E2A;&#x5C5E;&#x6027;&#x589E;&#x52A0;boost&#x503C;&#x6765;&#x4F18;&#x5316;(&#x53C2;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/multi-query-strings.html#prioritising-clauses" target="_blank">&#x8BED;&#x53E5;&#x7684;&#x4F18;&#x5148;&#x7EA7;</a> )&#x3002;&#x76F8;&#x53CD;&#x5730;&#xFF0C;&#x5982;&#x679C;&#x5DF2;&#x63D0;&#x53D6;&#x548C;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x5F62;&#x5F0F;&#x7F6E;&#x4E8E;&#x540C;&#x4E00;&#x4E2A;&#x5C5E;&#x6027;&#xFF0C;&#x5C31;&#x6CA1;&#x6709;&#x529E;&#x6CD5;&#x6765;&#x4F18;&#x5316;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x4E86;&#x3002;</p>
<p>&#x7B2C;&#x4E8C;&#x4E2A;&#x95EE;&#x9898;&#x662F;&#xFF0C;&#x5FC5;&#x987B;&#x641E;&#x6E05;&#x695A; &#x76F8;&#x5173;&#x5EA6;&#x5206;&#x503C;&#x662F;&#x5426;&#x5982;&#x4F55;&#x8BA1;&#x7B97;&#x7684;&#x3002;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/relevance-intro.html" target="_blank">&#x4EC0;&#x4E48;&#x662F;&#x76F8;&#x5173;&#x6027;?</a> &#x6211;&#x4EEC;&#x89E3;&#x91CA;&#x4E86;&#x90E8;&#x5206;&#x8BA1;&#x7B97;&#x4F9D;&#x8D56;&#x4E8E;&#x9006;&#x6587;&#x6863;&#x9891;&#x7387;&#xFF08;IDF&#xFF09;&#x2014;&#x2014; &#x5373;&#x4E00;&#x4E2A;&#x8BCD;&#x5728;&#x7D22;&#x5F15;&#x5E93;&#x7684;&#x6240;&#x6709;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x7E41;&#x7A0B;&#x5EA6;&#x3002; &#x5728;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x6587;&#x672C; <code>jump jumped jumps</code> &#x7684;&#x6587;&#x6863;&#x4E0A;&#x4F7F;&#x7528;&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#xFF0C;&#x5C06;&#x5F97;&#x5230;&#x4E0B;&#x5217;&#x8BCD;&#x9879;&#xFF1A;</p>
<pre><code class="lang-text">Pos 1: (jump)
Pos 2: (jumped,jump)
Pos 3: (jumps,jump)
</code></pre>
<p><code>jumped</code> &#x548C; <code>jumps</code> &#x5404;&#x51FA;&#x73B0;&#x4E00;&#x6B21;&#xFF0C;&#x6240;&#x4EE5;&#x6709;&#x6B63;&#x786E;&#x7684;IDF&#x503C;&#xFF1B;<code>jump</code> &#x51FA;&#x73B0;&#x4E86;3&#x6B21;&#xFF0C;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x641C;&#x7D22;&#x8BCD;&#x9879;&#xFF0C;&#x4E0E;&#x5176;&#x4ED6;&#x672A;&#x63D0;&#x53D6;&#x8BCD;&#x5E72;&#x7684;&#x5F62;&#x5F0F;&#x76F8;&#x6BD4;&#xFF0C;&#x8FD9;&#x660E;&#x663E;&#x964D;&#x4F4E;&#x4E86;&#x5B83;&#x7684;IDF&#x503C;&#x3002;</p>
<p>&#x57FA;&#x4E8E;&#x8FD9;&#x4E9B;&#x539F;&#x56E0;&#xFF0C;&#x6211;&#x4EEC;&#x4E0D;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#x539F;&#x5F62;&#x8BCD;&#x5E72;&#x63D0;&#x53D6;&#x3002;</p>
<footer class="page-footer"><span class="copyright">Copyright &#xA9; WS 2019 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">&#x8BE5;&#x6587;&#x4EF6;&#x4FEE;&#x8BA2;&#x65F6;&#x95F4;&#xFF1A;
2019-03-05 15:09:57
</span></footer>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="3_2_DeepSearch.html#调试相关度是最后10要做的事情" class="navigation navigation-prev " aria-label="Previous page: 调试相关度是最后 10% 要做的事情">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="4_1_Dealing_with_language.html#开始处理各种语言" class="navigation navigation-next " aria-label="Next page: 开始处理各种语言">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"处理人类语言","level":"5.1","depth":1,"next":{"title":"开始处理各种语言","level":"5.1.1","depth":2,"anchor":"#开始处理各种语言","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#开始处理各种语言","articles":[{"title":"使用语言分析器","level":"5.1.1.1","depth":3,"anchor":"#使用语言分析器","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#使用语言分析器","articles":[]},{"title":"配置语言分析器","level":"5.1.1.2","depth":3,"anchor":"#配置语言分析器","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#配置语言分析器","articles":[]},{"title":"混合语言的陷阱","level":"5.1.1.3","depth":3,"anchor":"#混合语言的陷阱","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#混合语言的陷阱","articles":[]},{"title":"每份文档一种语言","level":"5.1.1.4","depth":3,"anchor":"#每份文档一种语言","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#每份文档一种语言","articles":[]},{"title":"每个域一种语言","level":"5.1.1.5","depth":3,"anchor":"#每个域一种语言","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#每个域一种语言","articles":[]},{"title":"混合语言域","level":"5.1.1.6","depth":3,"anchor":"#混合语言域","path":"4_1_Dealing_with_language.md","ref":"4_1_Dealing_with_language.md#混合语言域","articles":[]}]},"previous":{"title":"调试相关度是最后 10% 要做的事情","level":"4.1.6.16","depth":3,"anchor":"#调试相关度是最后10要做的事情","path":"3_2_DeepSearch.md","ref":"3_2_DeepSearch.md#调试相关度是最后10要做的事情","articles":[]},"dir":"ltr"},"config":{"plugins":["github@^2.0.0","edit-link@^2.0.2","anchors@^0.7.1","include-codeblock@^3.0.2","splitter@^0.0.8","tbfed-pagefooter@^0.0.1","expandable-chapters-small@^0.1.7","anchor-navigation-ex@0.1.8","book-summary-scroll-position-saver","ace","emphasize","-lunr","-search","search-plus"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright © WS 2019","modify_label":"该文件修订时间：","modify_format":"YYYY-MM-DD HH:mm:ss"},"emphasize":{},"ace":{},"github":{"url":"https://github.com/wjw465150/Elasticsearch"},"book-summary-scroll-position-saver":{},"splitter":{},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"anchor-navigation-ex":{"isRewritePageTitle":false,"tocLevel1Icon":"fa fa-hand-o-right","tocLevel2Icon":"fa fa-hand-o-right","tocLevel3Icon":"fa fa-hand-o-right"},"expandable-chapters-small":{},"include-codeblock":{"check":false,"edit":true,"fixlang":false,"lang":"","template":"ace","theme":"chrome","unindent":true},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"edit-link":{"label":"编辑此页面","base":"https://github.com/wjw465150/Elasticsearch/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"search-plus":{}},"theme":"default","author":"WS","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Elasticsearch权威指南中文版","language":"zh-hans","gitbook":"*","description":"Elasticsearch权威指南中文版"},"file":{"path":"4_1_Dealing_with_language.md","mtime":"2019-03-05T07:09:57.395Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-15T05:52:05.244Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-github/plugin.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-edit-link/plugin.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-splitter/splitter.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-book-summary-scroll-position-saver/book-summary-scroll-position-saver.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-ace/ace/ace.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-ace/ace.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search-plus/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

